Click or drag to resize
RootDetectorTVertex, TEdge Class
DepthFirstSearchCrawler implementation to detect the number of roots ( disconnected subgraphs) within a non-directed graph, which helps identifing a disconnected graph.
Inheritance Hierarchy
SystemObject
  SD.Tools.Algorithmia.GraphsDepthFirstSearchCrawlerTVertex, TEdge
    SD.Tools.Algorithmia.Graphs.AlgorithmsRootDetectorTVertex, TEdge
      SD.Tools.Algorithmia.Graphs.AlgorithmsDisconnectedGraphsFinderTVertex, TEdge

Namespace:  SD.Tools.Algorithmia.Graphs.Algorithms
Assembly:  SD.Tools.Algorithmia (in SD.Tools.Algorithmia.dll) Version: 1.3.0.0 (1.3.17.0314)
Syntax
public class RootDetector<TVertex, TEdge> : DepthFirstSearchCrawler<TVertex, TEdge>, 
	IRootDetector
where TEdge : class, Object, IEdge<TVertex>

Type Parameters

TVertex
Type of the vertex of the graph to crawl
TEdge
Type of the edge of the graph to crawl

The RootDetectorTVertex, TEdge type exposes the following members.

Constructors
Properties
Methods
  NameDescription
Protected methodCrawl
Crawls the graph set as the graphToCrawl in the constructor. It picks the first vertex in the graph to start.
(Inherited from DepthFirstSearchCrawlerTVertex, TEdge.)
Protected methodCrawl(TVertex)
Crawls the graph set as the graphToCrawl in the constructor, starting with the vertex specified. If the vertex isn't in the graph, the routine is a no-op
(Inherited from DepthFirstSearchCrawlerTVertex, TEdge.)
Protected methodCycleDetected
A cycle has been detected in a directed graph. This method is called to signal derived classes that the cycle has been detected, as the derived class ordered this class to signal it if cycles were detected. Cycle checks are only performed on directed graphs.
(Inherited from DepthFirstSearchCrawlerTVertex, TEdge.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnVisited
Called when the vertexVisited was visited over the edges specified. This method is called right after all vertices related to vertexVisited were visited.
(Inherited from DepthFirstSearchCrawlerTVertex, TEdge.)
Protected methodOnVisiting
Called when the vertexToVisit is about to be visited over the edges specified. This method is called right before all vertices related to vertexToVisit are visited.
(Inherited from DepthFirstSearchCrawlerTVertex, TEdge.)
Protected methodRootDetected
Signal the detection of a root vertex that has been visited by the crawler.
(Overrides DepthFirstSearchCrawlerTVertex, TEdgeRootDetected(TVertex).)
Public methodSearchForRoots
Searches for roots within the graph
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks
Graph has to be undirected. Directed graphs could give more roots than there really are, which is the reason that using this algorithm on a directed graph results in an InvalidOperationException.
See Also