src/lemon/preflow.h
changeset 942 75fdd0c6866d
parent 920 2d6c8075d9d0
child 946 c94ef40a22ce
equal deleted inserted replaced
6:d4819f3d37d2 0:c49a48bbfcb4
     1 /* -*- C++ -*-
     1 /* -*- C++ -*-
     2  * src/hugo/preflow.h - Part of HUGOlib, a generic C++ optimization library
     2  * src/lemon/preflow.h - Part of LEMON, a generic C++ optimization library
     3  *
     3  *
     4  * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     4  * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
     5  * (Egervary Combinatorial Optimization Research Group, EGRES).
     5  * (Egervary Combinatorial Optimization Research Group, EGRES).
     6  *
     6  *
     7  * Permission to use, modify and distribute this software is granted
     7  * Permission to use, modify and distribute this software is granted
    12  * express or implied, and with no claim as to its suitability for any
    12  * express or implied, and with no claim as to its suitability for any
    13  * purpose.
    13  * purpose.
    14  *
    14  *
    15  */
    15  */
    16 
    16 
    17 #ifndef HUGO_PREFLOW_H
    17 #ifndef LEMON_PREFLOW_H
    18 #define HUGO_PREFLOW_H
    18 #define LEMON_PREFLOW_H
    19 
    19 
    20 #include <vector>
    20 #include <vector>
    21 #include <queue>
    21 #include <queue>
    22 
    22 
    23 #include <hugo/invalid.h>
    23 #include <lemon/invalid.h>
    24 #include <hugo/maps.h>
    24 #include <lemon/maps.h>
    25 
    25 
    26 /// \file
    26 /// \file
    27 /// \ingroup flowalgs
    27 /// \ingroup flowalgs
    28 /// Implementation of the preflow algorithm.
    28 /// Implementation of the preflow algorithm.
    29 
    29 
    30 namespace hugo {
    30 namespace lemon {
    31 
    31 
    32   /// \addtogroup flowalgs
    32   /// \addtogroup flowalgs
    33   /// @{                                                   
    33   /// @{                                                   
    34 
    34 
    35   ///%Preflow algorithms class.
    35   ///%Preflow algorithms class.
    42   ///edges should be passed to the algorithm through the
    42   ///edges should be passed to the algorithm through the
    43   ///constructor. It is possible to change these quantities using the
    43   ///constructor. It is possible to change these quantities using the
    44   ///functions \ref setSource, \ref setTarget, \ref setCap and \ref
    44   ///functions \ref setSource, \ref setTarget, \ref setCap and \ref
    45   ///setFlow.
    45   ///setFlow.
    46   ///
    46   ///
    47   ///After running \ref hugo::Preflow::phase1() "phase1()"
    47   ///After running \ref lemon::Preflow::phase1() "phase1()"
    48   ///or \ref hugo::Preflow::run() "run()", the maximal flow
    48   ///or \ref lemon::Preflow::run() "run()", the maximal flow
    49   ///value can be obtained by calling \ref flowValue(). The minimum
    49   ///value can be obtained by calling \ref flowValue(). The minimum
    50   ///value cut can be written into a <tt>bool</tt> node map by
    50   ///value cut can be written into a <tt>bool</tt> node map by
    51   ///calling \ref minCut(). (\ref minMinCut() and \ref maxMinCut() writes
    51   ///calling \ref minCut(). (\ref minMinCut() and \ref maxMinCut() writes
    52   ///the inclusionwise minimum and maximum of the minimum value cuts,
    52   ///the inclusionwise minimum and maximum of the minimum value cuts,
    53   ///resp.)
    53   ///resp.)
   808 	}
   808 	}
   809       }
   809       }
   810     } //relabel
   810     } //relabel
   811 
   811 
   812   }; 
   812   }; 
   813 } //namespace hugo
   813 } //namespace lemon
   814 
   814 
   815 #endif //HUGO_PREFLOW_H
   815 #endif //LEMON_PREFLOW_H
   816 
   816 
   817 
   817 
   818 
   818 
   819 
   819