Changeset 1155:fe0fcdb5687b in lemon-0.x for src/lemon/dijkstra.h
- Timestamp:
- 02/18/05 15:46:04 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1556
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/lemon/dijkstra.h
r1151 r1155 484 484 ///Adds a new source node. 485 485 486 ///Adds a new source node the the priority heap. 487 ///It checks if the node has already been added to the heap. 486 ///Adds a new source node to the priority heap. 488 487 /// 489 488 ///The optional second parameter is the initial distance of the node. 490 489 /// 491 ///\todo Do we really want to check it? 490 ///It checks if the node has already been added to the heap and 491 ///It is pushed to the heap only if either it was not in the heap 492 ///or the shortest path found till then is longer then \c dst. 492 493 void addSource(Node s,Value dst=0) 493 494 { 494 495 source = s; 495 496 if(_heap.state(s) != Heap::IN_HEAP) _heap.push(s,dst); 496 } 497 497 else if(_heap[s]<dst) { 498 _heap.push(s,dst); 499 _pred->set(s,INVALID); 500 } 501 } 502 503 ///Processes the next node in the priority heap 504 505 ///Processes the next node in the priority heap. 506 /// 507 ///\warning The priority heap must not be empty! 498 508 void processNextNode() 499 509 { … … 524 534 } 525 535 536 ///Returns \c false if there are nodes to be processed in the priority heap 537 538 ///Returns \c false if there are nodes to be processed in the priority heap 539 /// 540 bool emptyHeap() { return heap.empty(); } 541 ///Returns the number of the nodes to be processed in the priority heap 542 543 ///Returns the number of the nodes to be processed in the priority heap 544 /// 545 int heapSize() { return heap.size(); } 546 526 547 ///Executes the algorithm. 527 548
Note: See TracChangeset
for help on using the changeset viewer.