Click or drag to resize

DepthFirstSearchCrawlerTVertex, TEdge Class

Basic crawler class which crawls over all vertices in the graph it is set to crawl. For every visited vertex, it will call a visit routine, which can be overriden in derived classes. Depth first search is discussed here: http://en.wikipedia.org/wiki/Depth_first_search and it's the base for many graph known algorithms. An alternative is breadth first search, which uses a method which is non-recursive.
Inheritance Hierarchy

Namespace:  SD.Tools.Algorithmia.Graphs
Assembly:  SD.Tools.Algorithmia (in SD.Tools.Algorithmia.dll) Version: 1.4.0.0 (1.4.19.0711)
Syntax
public abstract class DepthFirstSearchCrawler<TVertex, TEdge>
where TEdge : class, Object, IEdge<TVertex>

Type Parameters

TVertex
The type of vertices
TEdge
The type of the edges in the graph

The DepthFirstSearchCrawlerTVertex, TEdge type exposes the following members.

Constructors
  NameDescription
Protected methodDepthFirstSearchCrawlerTVertex, TEdge
Initializes a new instance of the DepthFirstSearchCrawlerTVertex, TEdge class.
Top
Properties
  NameDescription
Protected propertyAbortCrawl
Sets the abortCrawl flag which will abort the crawl of the graph.
Top
Methods
  NameDescription
Protected methodCrawl
Crawls the graph set as the graphToCrawl in the constructor. It picks the first vertex in the graph to start.
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
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.
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.
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.
Protected methodRootDetected
Signal the detection of a root vertex that has been visited by the crawler.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks
This class has no public methods, as it's meant to be a mechanism for algorithm implementation to consume a graph in a given order
See Also