lemon/preflow.h
changeset 2522 616c019215c4
parent 2518 4c0a23bd70b5
child 2525 10715b6bcd86
     1.1 --- a/lemon/preflow.h	Sun Nov 25 22:56:44 2007 +0000
     1.2 +++ b/lemon/preflow.h	Tue Nov 27 15:41:43 2007 +0000
     1.3 @@ -72,7 +72,7 @@
     1.4      ///
     1.5      /// \sa Elevator
     1.6      /// \sa LinkedElevator
     1.7 -    typedef LinkedElevator<Graph, typename Graph::Node> Elevator;
     1.8 +    typedef Elevator<Graph, typename Graph::Node> Elevator;
     1.9      
    1.10      /// \brief Instantiates an Elevator.
    1.11      ///
    1.12 @@ -100,7 +100,7 @@
    1.13    /// directed graph. The preflow algorithms are the fastest known max
    1.14    /// flow algorithms. The current implementation use a mixture of the
    1.15    /// \e "highest label" and the \e "bound decrease" heuristics.
    1.16 -  /// The worst case time complexity of the algorithm is \f$O(n^3)\f$.
    1.17 +  /// The worst case time complexity of the algorithm is \f$O(n^2\sqrt{e})\f$.
    1.18    ///
    1.19    /// The algorithm consists from two phases. After the first phase
    1.20    /// the maximal flow value and the minimum cut can be obtained. The
    1.21 @@ -407,6 +407,7 @@
    1.22        queue.push_back(_target);
    1.23        reached.set(_target, true);
    1.24        while (!queue.empty()) {
    1.25 +	_level->initNewLevel();
    1.26  	std::vector<Node> nqueue;
    1.27  	for (int i = 0; i < int(queue.size()); ++i) {
    1.28  	  Node n = queue[i];
    1.29 @@ -863,7 +864,7 @@
    1.30      /// @}
    1.31  
    1.32      /// \name Query Functions
    1.33 -    /// The result of the %Dijkstra algorithm can be obtained using these
    1.34 +    /// The result of the %Preflow algorithm can be obtained using these
    1.35      /// functions.\n
    1.36      /// Before the use of these functions,
    1.37      /// either run() or start() must be called.