![]() |
AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
|
Priority first search implementation. More...
Public Member Functions | |
PriorityFirstSearch (MyGraph g) | |
void | start (MyNode s0) |
start traversal at node s0 More... | |
![]() | |
Traversal (MyGraph g) | |
initiate traversal of g More... | |
abstract String | name () |
get traversal name More... | |
abstract void | start (MyNode s0) |
start traversal at node s0 More... | |
void | showMark (MyNode node) |
callback to give visual feedback on marking a node More... | |
Protected Member Functions | |
abstract double | priority (MyNode node, MyEdge e) |
Compute priority of a node: More... | |
![]() | |
void | initialize () |
initialize graph for traversal (reset all attributes), provided for convenience to be called by start More... | |
Protected Attributes | |
Comparator< MyNode > | compareNodes |
comparator for {#link aud.PriorityQueue} More... | |
![]() | |
MyGraph | g_ = null |
int | time_ = 0 |
Additional Inherited Members | |
![]() | |
SingleStepper | singlestepper = null |
may halt if single stepper was set More... | |
int | nsteps = 1 |
halt every nsteps steps in time_ More... | |
int | verbose = 0 |
set verbosity (extra output if >0) More... | |
Priority first search implementation.
The priority
function must be implemented (e.g., Dijkstra, Prim}.
Definition at line 9 of file PriorityFirstSearch.java.
Definition at line 20 of file PriorityFirstSearch.java.
|
abstractprotected |
Compute priority of a node:
node.d+e.getWeight()
for Dijkstra's algorithm to find shortest paths (and the shortest path tree) e.getWeight()
for Prim's algorithm to find the minimum spanning tree Reimplemented in aud.example.graph.DijkstraShortestPaths, and aud.example.graph.PrimMinimumSpanningTree.
void aud.example.graph.PriorityFirstSearch.start | ( | MyNode | s0 | ) |
start traversal at node s0
Reimplemented from aud.example.graph.Traversal.
Definition at line 34 of file PriorityFirstSearch.java.
References aud.example.graph.PriorityFirstSearch.compareNodes, aud.example.graph.MyNode.d, aud.example.graph.Traversal.g_, aud.graph.GraphAM< Node extends AbstractNode, Edge extends AbstractEdge >.getNumNodes(), aud.example.graph.Traversal.initialize(), aud.PriorityQueue< T >.is_empty(), aud.PriorityQueue< T >.pop(), aud.PriorityQueue< T >.push(), aud.example.graph.Traversal.showMark(), aud.PriorityQueue< T >.toString(), and aud.example.graph.Traversal.verbose.
|
protected |
comparator for {#link aud.PriorityQueue}
Definition at line 12 of file PriorityFirstSearch.java.
Referenced by aud.example.graph.PriorityFirstSearch.start().