Named parameter for setting Heap
and HeapCrossRef
types with automatic allocation. They will be used for internal Dijkstra computations. The heap type must conform to the Heap concept and its priority type must be Length
.
#include <lemon/suurballe.h>
Additional Inherited Members | |
![]() | |
typedef SetHeapTraits< H, CR > ::Digraph | Digraph |
The type of the digraph. | |
typedef SetHeapTraits< H, CR > ::LengthMap | LengthMap |
The type of the length map. | |
typedef SetHeapTraits< H, CR > ::Length | Length |
The type of the lengths. | |
typedef SetHeapTraits< H, CR > ::FlowMap | FlowMap |
The type of the flow map. | |
typedef SetHeapTraits< H, CR > ::PotentialMap | PotentialMap |
The type of the potential map. | |
typedef SetHeapTraits< H, CR > ::Path | Path |
The type of the path structures. | |
typedef SetHeapTraits< H, CR > ::HeapCrossRef | HeapCrossRef |
The cross reference type used for the heap. | |
typedef SetHeapTraits< H, CR > ::Heap | Heap |
The heap type used for internal Dijkstra computations. | |
typedef SetHeapTraits< H, CR > | Traits |
The traits class of the algorithm. | |
![]() | |
Suurballe (const Digraph &graph, const LengthMap &length) | |
Constructor. | |
~Suurballe () | |
Destructor. | |
Suurballe & | flowMap (FlowMap &map) |
Set the flow map. | |
Suurballe & | potentialMap (PotentialMap &map) |
Set the potential map. | |
const FlowMap & | flowMap () const |
Return a const reference to an arc map storing the found flow. | |
const PotentialMap & | potentialMap () const |
Return a const reference to a node map storing the found potentials (the dual solution). | |
Length | totalLength () const |
Return the total length of the found paths. | |
int | flow (const Arc &arc) const |
Return the flow value on the given arc. | |
Length | potential (const Node &node) const |
Return the potential of the given node. | |
int | pathNum () const |
Return the number of the found paths. | |
const Path & | path (int i) const |
Return a const reference to the specified path. | |
int | run (const Node &s, const Node &t, int k=2) |
Run the algorithm. | |
void | init (const Node &s) |
Initialize the algorithm. | |
void | fullInit (const Node &s) |
Initialize the algorithm and perform Dijkstra. | |
int | start (const Node &t, int k=2) |
Execute the algorithm. | |
int | findFlow (const Node &t, int k=2) |
Execute the algorithm to find an optimal flow. | |
void | findPaths () |
Compute the paths from the flow. | |