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()