Module traitgraph::algo::traversal[][src]

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.