diff -r 05c0ba99cc27 -r 616c019215c4 lemon/preflow.h --- a/lemon/preflow.h Sun Nov 25 22:56:44 2007 +0000 +++ b/lemon/preflow.h Tue Nov 27 15:41:43 2007 +0000 @@ -72,7 +72,7 @@ /// /// \sa Elevator /// \sa LinkedElevator - typedef LinkedElevator Elevator; + typedef Elevator Elevator; /// \brief Instantiates an Elevator. /// @@ -100,7 +100,7 @@ /// directed graph. The preflow algorithms are the fastest known max /// flow algorithms. The current implementation use a mixture of the /// \e "highest label" and the \e "bound decrease" heuristics. - /// The worst case time complexity of the algorithm is \f$O(n^3)\f$. + /// The worst case time complexity of the algorithm is \f$O(n^2\sqrt{e})\f$. /// /// The algorithm consists from two phases. After the first phase /// the maximal flow value and the minimum cut can be obtained. The @@ -407,6 +407,7 @@ queue.push_back(_target); reached.set(_target, true); while (!queue.empty()) { + _level->initNewLevel(); std::vector nqueue; for (int i = 0; i < int(queue.size()); ++i) { Node n = queue[i]; @@ -863,7 +864,7 @@ /// @} /// \name Query Functions - /// The result of the %Dijkstra algorithm can be obtained using these + /// The result of the %Preflow algorithm can be obtained using these /// functions.\n /// Before the use of these functions, /// either run() or start() must be called.