Class MaximumBipartiteMatchingAlgorithm<TVertex, TEdge>
Algorithm that computes a maximum bipartite matching in a graph, meaning the maximum number of edges not sharing any vertex.
Inheritance
Implements
Inherited Members
Namespace: QuikGraph.Algorithms
Assembly: QuikGraph.dll
Syntax
public sealed class MaximumBipartiteMatchingAlgorithm<TVertex, TEdge> : AlgorithmBase<IMutableVertexAndEdgeListGraph<TVertex, TEdge>>, IAlgorithm<IMutableVertexAndEdgeListGraph<TVertex, TEdge>>, IComputation, IAlgorithmComponent where TEdge : IEdge<TVertex>
Type Parameters
Name | Description |
---|---|
TVertex | Vertex type. |
TEdge | Edge type. |
Constructors
| Improve this Doc View SourceMaximumBipartiteMatchingAlgorithm(IMutableVertexAndEdgeListGraph<TVertex, TEdge>, IEnumerable<TVertex>, IEnumerable<TVertex>, VertexFactory<TVertex>, EdgeFactory<TVertex, TEdge>)
Initializes a new instance of the MaximumBipartiteMatchingAlgorithm<TVertex, TEdge> class.
Declaration
public MaximumBipartiteMatchingAlgorithm(IMutableVertexAndEdgeListGraph<TVertex, TEdge> visitedGraph, IEnumerable<TVertex> sourceToVertices, IEnumerable<TVertex> verticesToSink, VertexFactory<TVertex> vertexFactory, EdgeFactory<TVertex, TEdge> edgeFactory)
Parameters
Type | Name | Description |
---|---|---|
IMutableVertexAndEdgeListGraph<TVertex, TEdge> | visitedGraph | Graph to visit. |
System.Collections.Generic.IEnumerable<TVertex> | sourceToVertices | Vertices to which creating augmented edge from super source. |
System.Collections.Generic.IEnumerable<TVertex> | verticesToSink | Vertices from which creating augmented edge to super sink. |
VertexFactory<TVertex> | vertexFactory | Vertex factory method. |
EdgeFactory<TVertex, TEdge> | edgeFactory | Edge factory method. |
Exceptions
Type | Condition |
---|---|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
System.ArgumentNullException |
|
Properties
| Improve this Doc View SourceEdgeFactory
Edge factory method.
Declaration
public EdgeFactory<TVertex, TEdge> EdgeFactory { get; }
Property Value
Type | Description |
---|---|
EdgeFactory<TVertex, TEdge> |
MatchedEdges
Maximal edges matching.
Declaration
public TEdge[] MatchedEdges { get; }
Property Value
Type | Description |
---|---|
TEdge[] |
SourceToVertices
Vertices to which augmented edge from super source are created with augmentation.
Declaration
public IEnumerable<TVertex> SourceToVertices { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<TVertex> |
VertexFactory
Vertex factory method.
Declaration
public VertexFactory<TVertex> VertexFactory { get; }
Property Value
Type | Description |
---|---|
VertexFactory<TVertex> |
VerticesToSink
Vertices from which augmented edge to super sink are created with augmentation.
Declaration
public IEnumerable<TVertex> VerticesToSink { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IEnumerable<TVertex> |
Methods
| Improve this Doc View SourceInitialize()
Called on algorithm initialization step.
Declaration
protected override void Initialize()
Overrides
InternalCompute()
Algorithm compute step.
Declaration
protected override void InternalCompute()