1.1 --- a/lemon/dfs.h Tue Sep 23 18:42:49 2008 +0200
1.2 +++ b/lemon/dfs.h Fri Sep 26 12:40:11 2008 +0200
1.3 @@ -558,17 +558,17 @@
1.4 ///Executes the algorithm until the given target node is reached.
1.5 ///
1.6 ///This method runs the %DFS algorithm from the root node
1.7 - ///in order to compute the DFS path to \c dest.
1.8 + ///in order to compute the DFS path to \c t.
1.9 ///
1.10 ///The algorithm computes
1.11 - ///- the %DFS path to \c dest,
1.12 - ///- the distance of \c dest from the root in the %DFS tree.
1.13 + ///- the %DFS path to \c t,
1.14 + ///- the distance of \c t from the root in the %DFS tree.
1.15 ///
1.16 ///\pre init() must be called and a root node should be
1.17 ///added with addSource() before using this function.
1.18 - void start(Node dest)
1.19 + void start(Node t)
1.20 {
1.21 - while ( !emptyQueue() && G->target(_stack[_stack_head])!=dest )
1.22 + while ( !emptyQueue() && G->target(_stack[_stack_head])!=t )
1.23 processNextArc();
1.24 }
1.25
1.26 @@ -598,7 +598,7 @@
1.27 return emptyQueue() ? INVALID : _stack[_stack_head];
1.28 }
1.29
1.30 - ///Runs the algorithm from the given node.
1.31 + ///Runs the algorithm from the given source node.
1.32
1.33 ///This method runs the %DFS algorithm from node \c s
1.34 ///in order to compute the DFS path to each node.
1.35 @@ -622,10 +622,10 @@
1.36 ///Finds the %DFS path between \c s and \c t.
1.37
1.38 ///This method runs the %DFS algorithm from node \c s
1.39 - ///in order to compute the DFS path to \c t.
1.40 + ///in order to compute the DFS path to node \c t
1.41 + ///(it stops searching when \c t is processed)
1.42 ///
1.43 - ///\return The length of the <tt>s</tt>--<tt>t</tt> DFS path,
1.44 - ///if \c t is reachable form \c s, \c 0 otherwise.
1.45 + ///\return \c true if \c t is reachable form \c s.
1.46 ///
1.47 ///\note Apart from the return value, <tt>d.run(s,t)</tt> is
1.48 ///just a shortcut of the following code.
1.49 @@ -634,11 +634,11 @@
1.50 /// d.addSource(s);
1.51 /// d.start(t);
1.52 ///\endcode
1.53 - int run(Node s,Node t) {
1.54 + bool run(Node s,Node t) {
1.55 init();
1.56 addSource(s);
1.57 start(t);
1.58 - return reached(t)?_stack_head+1:0;
1.59 + return reached(t);
1.60 }
1.61
1.62 ///Runs the algorithm to visit all nodes in the digraph.
1.63 @@ -1526,16 +1526,16 @@
1.64 /// Executes the algorithm until the given target node is reached.
1.65 ///
1.66 /// This method runs the %DFS algorithm from the root node
1.67 - /// in order to compute the DFS path to \c dest.
1.68 + /// in order to compute the DFS path to \c t.
1.69 ///
1.70 /// The algorithm computes
1.71 - /// - the %DFS path to \c dest,
1.72 - /// - the distance of \c dest from the root in the %DFS tree.
1.73 + /// - the %DFS path to \c t,
1.74 + /// - the distance of \c t from the root in the %DFS tree.
1.75 ///
1.76 /// \pre init() must be called and a root node should be added
1.77 /// with addSource() before using this function.
1.78 - void start(Node dest) {
1.79 - while ( !emptyQueue() && _digraph->target(_stack[_stack_head]) != dest )
1.80 + void start(Node t) {
1.81 + while ( !emptyQueue() && _digraph->target(_stack[_stack_head]) != t )
1.82 processNextArc();
1.83 }
1.84
1.85 @@ -1564,7 +1564,7 @@
1.86 return emptyQueue() ? INVALID : _stack[_stack_head];
1.87 }
1.88
1.89 - /// \brief Runs the algorithm from the given node.
1.90 + /// \brief Runs the algorithm from the given source node.
1.91 ///
1.92 /// This method runs the %DFS algorithm from node \c s.
1.93 /// in order to compute the DFS path to each node.
1.94 @@ -1588,10 +1588,10 @@
1.95 /// \brief Finds the %DFS path between \c s and \c t.
1.96
1.97 /// This method runs the %DFS algorithm from node \c s
1.98 - /// in order to compute the DFS path to \c t.
1.99 + /// in order to compute the DFS path to node \c t
1.100 + /// (it stops searching when \c t is processed).
1.101 ///
1.102 - /// \return The length of the <tt>s</tt>--<tt>t</tt> DFS path,
1.103 - /// if \c t is reachable form \c s, \c 0 otherwise.
1.104 + /// \return \c true if \c t is reachable form \c s.
1.105 ///
1.106 /// \note Apart from the return value, <tt>d.run(s,t)</tt> is
1.107 /// just a shortcut of the following code.
1.108 @@ -1600,11 +1600,11 @@
1.109 /// d.addSource(s);
1.110 /// d.start(t);
1.111 ///\endcode
1.112 - int run(Node s,Node t) {
1.113 + bool run(Node s,Node t) {
1.114 init();
1.115 addSource(s);
1.116 start(t);
1.117 - return reached(t)?_stack_head+1:0;
1.118 + return reached(t);
1.119 }
1.120
1.121 /// \brief Runs the algorithm to visit all nodes in the digraph.