|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
41 template<
class E,
class INDEX>
51 template<
typename EdgeContainer>
55 for (
edge e : matching) {
56 for (
node v : e->nodes()) {
61 if (e->isSelfLoop()) {
72 template<
typename EdgeContainer>
78 for (
edge e : matching) {
79 for (
node v : e->nodes()) {
98 template<
typename EdgeContainer>
101 return isMaximal(graph, matching, ignored);
106 template<
typename EdgeContainer>
113 template<
typename EdgeContainer>
120 template<
typename EdgeContainer>
The namespace for all OGDF objects.
Includes declaration of graph class.
int findMaximumCardinalityMatching(const Graph &G, const List< node > &U, const List< node > &V, EdgeArray< bool > &matching)
Finds a maximum cardinality matching in the bipartite graph G = (U+V, E) in O(sqrt(|U+V|) * |E|) time...
bool isMaximalMatching(const Graph &graph, const EdgeContainer &matching)
Checks in O(|V| + |E|) time if matching is a maximal matching.
void findMaximalMatching(const Graph &graph, ArrayBuffer< edge > &matching)
Obtains a maximal matching in O(|E|) time.
Class for adjacency list elements.
edge theEdge() const
Returns the edge associated with this adjacency entry.
int numberOfNodes() const
Returns the number of nodes in the graph.
bool isMaximal(const Graph &graph, const EdgeContainer &matching, edge &addable)
Checks in time O(|E|) if there are edges that could be added to matching.
Decralation of GraphElement and GraphList classes.
Doubly linked lists (maintaining the length of the list).
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
bool isMatching(const Graph &graph, const EdgeContainer &matching)
Checks in time O(|V| + size of matching) if the given set of edges represents a matching.
bool isPerfect(const Graph &graph, const EdgeContainer &matching)
Checks in O(1) if matching (assuming it is a matching and the graph is simple and connected) is perfe...
internal::GraphObjectContainer< EdgeElement > edges
The container containing all edge objects.
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Class for the representation of edges.
bool isPerfectMatching(const Graph &graph, const EdgeContainer &matching)
Checks in O(|V| + size of matching) if matching is a perfect matching.
Class for the representation of nodes.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.