## Interface MatchingAlgorithm.Matching<V,​E>

• Type Parameters:
V - the graph vertex type
E - the graph edge type
All Superinterfaces:
java.lang.Iterable<E>
All Known Implementing Classes:
MatchingAlgorithm.MatchingImpl
Enclosing interface:
MatchingAlgorithm<V,​E>

public static interface MatchingAlgorithm.Matching<V,​E>
extends java.lang.Iterable<E>
A graph matching.
• ### Method Summary

All Methods
Modifier and Type Method Description
java.util.Set<E> getEdges()
Get the edges of the matching.
Graph<V,​E> getGraph()
Returns the graph over which this matching is defined.
double getWeight()
Returns the weight of the matching.
default boolean isMatched​(V v)
Returns true if vertex v is incident to an edge in this matching.
default boolean isPerfect()
Returns true if the matching is a perfect matching.
default java.util.Iterator<E> iterator()
Returns an iterator over the edges in the matching.
• ### Methods inherited from interface java.lang.Iterable

forEach, spliterator
• ### Method Detail

• #### getGraph

Graph<V,​E> getGraph()
Returns the graph over which this matching is defined.
Returns:
the graph
• #### getWeight

double getWeight()
Returns the weight of the matching.
Returns:
the weight of the matching
• #### getEdges

java.util.Set<E> getEdges()
Get the edges of the matching.
Returns:
the edges of the matching
• #### isMatched

default boolean isMatched​(V v)
Returns true if vertex v is incident to an edge in this matching.
Parameters:
v - vertex
Returns:
true if vertex v is incident to an edge in this matching.
• #### isPerfect

default boolean isPerfect()
Returns true if the matching is a perfect matching. A matching is perfect if every vertex in the graph is incident to an edge in the matching.
Returns:
true if the matching is perfect. By definition, a perfect matching consists of exactly $\frac{1}{2|V|}$ edges, and the number of vertices in the graph must be even.
• #### iterator

default java.util.Iterator<E> iterator()
Returns an iterator over the edges in the matching.
Specified by:
iterator in interface java.lang.Iterable<V>
Returns:
iterator over the edges in the matching.