Crate pathfinding [] [src]

This crate implements several pathfinding, flow, and graph algorithms.

Reexports

pub extern crate num_traits;

Structs

AstarSolution

Iterator structure created by the astar_bag function.

Common

Common fields.

DenseCapacity

Dense capacity and flow data.

Grid

Representation of a rectangular grid in which vertices can be added or removed. Edges are automatically created between adjacent vertices. By default, only vertical and horizontal edges are created, unless diagonal mode is enabled.

GridIntoIterator

Iterator returned by calling .into_iter() on a grid.

GridIterator

Iterator returned by calling .iter() on a grid.

Matrix

Matrix of an arbitrary type. Data are stored consecutively in memory, by rows. Raw data can be accessed using as_ref() or as_mut().

SparseCapacity

Sparse capacity and flow data.

Traits

EdmondsKarp

Representation of capacity and flow data.

Weights

Adjacency matrix for weights.

Functions

astar

Compute a shortest path using the A* search algorithm.

astar_bag

Compute all shortest paths using the A* search algorithm. Whereas astar (non-deterministically) returns a single shortest path, astar_bag returns all shortest paths (in a non-deterministic order).

astar_bag_collect

Compute all shortest paths using the A* search algorithm. Whereas astar (non-deterministically) returns a single shortest path, astar_bag returns all shortest paths (in a non-deterministic order).

bfs

Compute a shortest path using the breadth-first search algorithm.

component_index

Locate vertices amongst disjoint sets.

components

Separate components of a graph into closed sets.

connected_components

Extract connected components from a graph.

dfs

Compute a path using the depth-first search algorithm.

dijkstra

Compute a shortest path using the Dijsktra search algorithm.

edmonds_karp

Compute the maximum flow that can go through a directed graph using the Edmonds Karp algorithm.

edmonds_karp_dense

Helper for the edmonds_karp function using an adjacency matrix for dense graphs.

edmonds_karp_sparse

Helper for the edmonds_karp function using adjacency maps for sparse graphs.

fringe

Compute a shortest path using the Fringe search algorithm.

idastar

Compute a shortest path using the IDA* search algorithm.

kuhn_munkres

Compute a maximum weight maximum matching between two disjoints sets of vertices using the Kuhn-Munkres algorithm (also known as Hungarian algorithm).

kuhn_munkres_min

Compute a minimum weight maximum matching between two disjoints sets of vertices using the Kuhn-Munkres algorithm (also known as Hungarian algorithm).

separate_components

Separate components of a graph into closed sets.

topological_sort

Find a topological order in a directed graph if one exists.

Type Definitions

EKFlows

Type alias for Edmonds-Karp result.