Go to the source code of this file.
Namespaces | |
| operations_research | |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. | |
Functions | |
| template<typename Graph > | |
| bool | operations_research::IsEulerianGraph (const Graph &graph) |
| Returns true if a graph is Eulerian, aka all its nodes are of even degree. More... | |
| template<typename NodeIndex , typename Graph > | |
| bool | operations_research::IsSemiEulerianGraph (const Graph &graph, std::vector< NodeIndex > *odd_nodes) |
| Returns true if a graph is Semi-Eulerian, aka at most two of its nodes are of odd degree. More... | |
| template<typename NodeIndex , typename Graph > | |
| std::vector< NodeIndex > | operations_research::BuildEulerianPathFromNode (const Graph &graph, NodeIndex root) |
| Builds an Eulerian path/trail on an undirected graph starting from node root. More... | |
| template<typename NodeIndex , typename Graph > | |
| std::vector< NodeIndex > | operations_research::BuildEulerianTourFromNode (const Graph &graph, NodeIndex root) |
| Builds an Eulerian tour/circuit/cycle starting and ending at node root on an undirected graph. More... | |
| template<typename Graph > | |
| std::vector< typename Graph::NodeIndex > | operations_research::BuildEulerianTour (const Graph &graph) |
| Same as above but without specifying a start/end root node (node 0 is taken as default root). More... | |
| template<typename Graph > | |
| std::vector< typename Graph::NodeIndex > | operations_research::BuildEulerianPath (const Graph &graph) |
| Builds an Eulerian path/trail on an undirected graph. More... | |