Class WeaklyConnectedComponentsAlgorithm<TVertex, TEdge>
Algorithm that computes weakly connected components of a graph.
Inheritance
Implements
Inherited Members
Namespace: QuikGraph.Algorithms.ConnectedComponents
Assembly: QuikGraph.dll
Syntax
public sealed class WeaklyConnectedComponentsAlgorithm<TVertex, TEdge> : AlgorithmBase<IVertexListGraph<TVertex, TEdge>>, IAlgorithmComponent, IConnectedComponentAlgorithm<TVertex, TEdge, IVertexListGraph<TVertex, TEdge>>, IAlgorithm<IVertexListGraph<TVertex, TEdge>>, IComputation where TEdge : IEdge<TVertex>
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Remarks
A weakly connected component is a maximal sub graph of a graph such that for every pair of vertices (u,v) in the sub graph, there is an undirected path from u to v and a directed path from v to u.
Constructors
| Improve this Doc View SourceWeaklyConnectedComponentsAlgorithm(IAlgorithmComponent, IVertexListGraph<TVertex, TEdge>, IDictionary<TVertex, Int32>)
Initializes a new instance of the WeaklyConnectedComponentsAlgorithm<TVertex, TEdge> class.
Declaration
public WeaklyConnectedComponentsAlgorithm(IAlgorithmComponent host, IVertexListGraph<TVertex, TEdge> visitedGraph, IDictionary<TVertex, int> components)
Parameters
Type | Name | Description |
---|---|---|
IAlgorithmComponent | host | Host to use if set, otherwise use this reference. |
IVertexListGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
System.Collections.Generic.IDictionary<TVertex, System.Int32> | components | Graph components. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
WeaklyConnectedComponentsAlgorithm(IVertexListGraph<TVertex, TEdge>)
Initializes a new instance of the WeaklyConnectedComponentsAlgorithm<TVertex, TEdge> class.
Declaration
public WeaklyConnectedComponentsAlgorithm(IVertexListGraph<TVertex, TEdge> visitedGraph)
Parameters
Type | Name | Description |
---|---|---|
IVertexListGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
WeaklyConnectedComponentsAlgorithm(IVertexListGraph<TVertex, TEdge>, IDictionary<TVertex, Int32>)
Initializes a new instance of the WeaklyConnectedComponentsAlgorithm<TVertex, TEdge> class.
Declaration
public WeaklyConnectedComponentsAlgorithm(IVertexListGraph<TVertex, TEdge> visitedGraph, IDictionary<TVertex, int> components)
Parameters
Type | Name | Description |
---|---|---|
IVertexListGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
System.Collections.Generic.IDictionary<TVertex, System.Int32> | components | Graph components. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
Properties
| Improve this Doc View SourceComponentCount
Number of components.
Declaration
public int ComponentCount { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Components
Graph components.
Declaration
public IDictionary<TVertex, int> Components { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IDictionary<TVertex, System.Int32> |
Graphs
Weakly connected components.
Declaration
public BidirectionalGraph<TVertex, TEdge>[] Graphs { get; }
Property Value
Type | Description |
---|---|
BidirectionalGraph<TVertex, TEdge>[] |
Methods
| Improve this Doc View SourceClean()
Called on algorithm cleanup step.
Declaration
protected override void Clean()
Overrides
Initialize()
Called on algorithm initialization step.
Declaration
protected override void Initialize()
Overrides
InternalCompute()
Algorithm compute step.
Declaration
protected override void InternalCompute()