Changeset 287:bb40b6db0a58 in lemon for lemon/bfs.h
- Timestamp:
- 09/27/08 14:33:28 (15 years ago)
- Branch:
- default
- Children:
- 288:47b3a3b67837, 290:f6899946c1ac
- Parents:
- 286:da414906fe21 (diff), 285:d8dc5acf739b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Phase:
- public
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bfs.h
r281 r287 605 605 /// 606 606 ///This method runs the %BFS algorithm from the root node(s) 607 ///in order to compute the shortest path to \c dest.607 ///in order to compute the shortest path to \c t. 608 608 /// 609 609 ///The algorithm computes 610 ///- the shortest path to \c dest,611 ///- the distance of \c dest from the root(s).610 ///- the shortest path to \c t, 611 ///- the distance of \c t from the root(s). 612 612 /// 613 613 ///\pre init() must be called and at least one root node should be … … 621 621 /// } 622 622 ///\endcode 623 void start(Node dest)623 void start(Node t) 624 624 { 625 625 bool reach = false; 626 while ( !emptyQueue() && !reach ) processNextNode( dest, reach);626 while ( !emptyQueue() && !reach ) processNextNode(t, reach); 627 627 } 628 628 … … 662 662 } 663 663 664 ///Runs the algorithm from the given node.664 ///Runs the algorithm from the given source node. 665 665 666 666 ///This method runs the %BFS algorithm from node \c s … … 686 686 687 687 ///This method runs the %BFS algorithm from node \c s 688 ///in order to compute the shortest path to \c t.689 /// 690 /// \return The length of the shortest <tt>s</tt>--<tt>t</tt> path,691 /// if \c t is reachable form \c s, \c 0 otherwise.688 ///in order to compute the shortest path to node \c t 689 ///(it stops searching when \c t is processed). 690 /// 691 ///\return \c true if \c t is reachable form \c s. 692 692 /// 693 693 ///\note Apart from the return value, <tt>b.run(s,t)</tt> is just a … … 698 698 /// b.start(t); 699 699 ///\endcode 700 intrun(Node s,Node t) {700 bool run(Node s,Node t) { 701 701 init(); 702 702 addSource(s); 703 703 start(t); 704 return reached(t) ? _curr_dist : 0;704 return reached(t); 705 705 } 706 706 … … 1617 1617 /// 1618 1618 /// This method runs the %BFS algorithm from the root node(s) 1619 /// in order to compute the shortest path to \c dest.1619 /// in order to compute the shortest path to \c t. 1620 1620 /// 1621 1621 /// The algorithm computes 1622 /// - the shortest path to \c dest,1623 /// - the distance of \c dest from the root(s).1622 /// - the shortest path to \c t, 1623 /// - the distance of \c t from the root(s). 1624 1624 /// 1625 1625 /// \pre init() must be called and at least one root node should be … … 1633 1633 /// } 1634 1634 /// \endcode 1635 void start(Node dest) {1635 void start(Node t) { 1636 1636 bool reach = false; 1637 while ( !emptyQueue() && !reach ) processNextNode( dest, reach);1637 while ( !emptyQueue() && !reach ) processNextNode(t, reach); 1638 1638 } 1639 1639 … … 1673 1673 } 1674 1674 1675 /// \brief Runs the algorithm from the given node.1675 /// \brief Runs the algorithm from the given source node. 1676 1676 /// 1677 1677 /// This method runs the %BFS algorithm from node \c s … … 1692 1692 addSource(s); 1693 1693 start(); 1694 } 1695 1696 /// \brief Finds the shortest path between \c s and \c t. 1697 /// 1698 /// This method runs the %BFS algorithm from node \c s 1699 /// in order to compute the shortest path to node \c t 1700 /// (it stops searching when \c t is processed). 1701 /// 1702 /// \return \c true if \c t is reachable form \c s. 1703 /// 1704 /// \note Apart from the return value, <tt>b.run(s,t)</tt> is just a 1705 /// shortcut of the following code. 1706 ///\code 1707 /// b.init(); 1708 /// b.addSource(s); 1709 /// b.start(t); 1710 ///\endcode 1711 bool run(Node s,Node t) { 1712 init(); 1713 addSource(s); 1714 start(t); 1715 return reached(t); 1694 1716 } 1695 1717 -
lemon/bfs.h
r286 r287 55 55 ///\param g is the digraph, to which we would like to define the 56 56 ///\ref PredMap. 57 ///\todo The digraph alone may be insufficient to initialize58 57 static PredMap *createPredMap(const Digraph &g) 59 58 { … … 65 64 ///The type of the map that indicates which nodes are processed. 66 65 ///It must meet the \ref concepts::WriteMap "WriteMap" concept. 67 ///By default it is a NullMap.68 66 typedef NullMap<typename Digraph::Node,bool> ProcessedMap; 69 67 ///Instantiates a \ref ProcessedMap. … … 197 195 int _curr_dist; 198 196 199 ///Creates the maps if necessary. 200 ///\todo Better memory allocation (instead of new). 197 //Creates the maps if necessary. 201 198 void create_maps() 202 199 { … … 849 846 ///\param g is the digraph, to which we would like to define the 850 847 ///\ref PredMap. 851 ///\todo The digraph alone may be insufficient to initialize852 848 static PredMap *createPredMap(const Digraph &g) 853 849 { … … 1371 1367 int _list_front, _list_back; 1372 1368 1373 ///Creates the maps if necessary. 1374 ///\todo Better memory allocation (instead of new). 1369 //Creates the maps if necessary. 1375 1370 void create_maps() { 1376 1371 if(!_reached) {
Note: See TracChangeset
for help on using the changeset viewer.