Type Alias DefaultDijkstra

Source
pub type DefaultDijkstra<Graph, WeightType> = Dijkstra<Graph, WeightType, EpochNodeWeightArray<WeightType>, BinaryHeap<Reverse<(WeightType, <Graph as GraphBase>::NodeIndex)>>>;
Expand description

A Dijkstra implementation with a set of common optimisations.

Aliased Type§

struct DefaultDijkstra<Graph, WeightType> { /* private fields */ }

Implementations

Source§

impl<WeightType: DijkstraWeight + Eq + Debug, EdgeData: DijkstraWeightedEdgeData<WeightType>, Graph: StaticGraph<EdgeData = EdgeData>, NodeWeights: NodeWeightArray<WeightType>, Heap: DijkstraHeap<WeightType, Graph::NodeIndex>> Dijkstra<Graph, WeightType, NodeWeights, Heap>

Source

pub fn new(graph: &Graph) -> Self

Create the data structures for the given graph.

Source

pub fn shortest_path_lens<TargetMap: DijkstraTargetMap<Graph>, DijkstraPerformance: DijkstraPerformanceData>( &mut self, graph: &Graph, source: Graph::NodeIndex, targets: &TargetMap, target_amount: usize, max_weight: WeightType, forbid_source_target: bool, distances: &mut Vec<(Graph::NodeIndex, WeightType)>, max_node_weight_data_size: usize, max_heap_data_size: usize, performance_data: DijkstraPerformance, ) -> DijkstraStatus<DijkstraPerformance>

Compute the shortest paths from source to all targets, with given maximum weight.

max_node_weight_data_size: the maximum number of nodes for which a weight can be stored before the search aborts.