Module traitgraph_algo::traversal
source · Expand description
Algorithms for graph traversals, i.e. preorder breadth or depth first search as well as postorder depth first search.
Modules
- Functions and structures related to univocal traversals. Univocal traversals are traversals along unique out-edges or unique in-edges in a graph.
Structs
- A type implementing ForbiddenSubgraph that allows all nodes set to true in a boolean vector.
- A neighbor strategy that traverses all incoming edges of a node.
- A queue strategy that works by the first-in first-out principle.
- A generic depth first postorder graph traversal. The traversal is generic over the graph implementation, as well as the direction of the search (
NeighborStrategy
) and the queue implementation (Queue
). - A queue strategy that works by the last-in first-out principle.
- A ForbiddenSubgraph that forbids a single edge.
- A ForbiddenSubgraph that forbids a single node.
- A neighbor strategy that traverses all outgoing edges of a node.
- A type implementing ForbiddenSubgraph that allows all nodes in a graph traversal.
- A generic preorder graph traversal. The traversal is generic over the graph implementation, as well as the direction of the search (
NeighborStrategy
), the order of processing (QueueStrategy
) and the queue implementation itself (Queue
). - A neighbor strategy that traverses all incoming and all outgoing edges of a node.
Traits
- A type with this trait can tell if a node or edge is forbidden in a graph traversal.
- A type that defines the strategy for computing the neighborhood of a node or edge, i.e. forward, backward or undirected.
- A type that defines the order of node processing in a traversal, i.e. queue-based or stack-based.
Type Definitions
- A post-order forward DFS in a directed graph.
- A post-order forward DFS in a directed graph.
- A post-order forward DFS in a directed graph.
- A normal backward BFS in a directed graph.
- A normal backward DFS in a directed graph.
- A normal forward BFS in a directed graph.
- A normal forward DFS in a directed graph.
- A BFS that treats each directed edge as an undirected edge, i.e. that traverses edge both in forward and backward direction.
- A DFS that treats each directed edge as an undirected edge, i.e. that traverses edge both in forward and backward direction.