lemon/hartmann_orlin.h
changeset 768 0a42883c8221
parent 767 11c946fa8d13
child 769 e746fb14e680
equal deleted inserted replaced
1:32a972fbcd15 2:dc6610a6238f
    17  */
    17  */
    18 
    18 
    19 #ifndef LEMON_HARTMANN_ORLIN_H
    19 #ifndef LEMON_HARTMANN_ORLIN_H
    20 #define LEMON_HARTMANN_ORLIN_H
    20 #define LEMON_HARTMANN_ORLIN_H
    21 
    21 
    22 /// \ingroup shortest_path
    22 /// \ingroup min_mean_cycle
    23 ///
    23 ///
    24 /// \file
    24 /// \file
    25 /// \brief Hartmann-Orlin's algorithm for finding a minimum mean cycle.
    25 /// \brief Hartmann-Orlin's algorithm for finding a minimum mean cycle.
    26 
    26 
    27 #include <vector>
    27 #include <vector>
    88     typedef lemon::Tolerance<LargeValue> Tolerance;
    88     typedef lemon::Tolerance<LargeValue> Tolerance;
    89     typedef lemon::Path<Digraph> Path;
    89     typedef lemon::Path<Digraph> Path;
    90   };
    90   };
    91 
    91 
    92 
    92 
    93   /// \addtogroup shortest_path
    93   /// \addtogroup min_mean_cycle
    94   /// @{
    94   /// @{
    95 
    95 
    96   /// \brief Implementation of the Hartmann-Orlin algorithm for finding
    96   /// \brief Implementation of the Hartmann-Orlin algorithm for finding
    97   /// a minimum mean cycle.
    97   /// a minimum mean cycle.
    98   ///
    98   ///
    99   /// This class implements the Hartmann-Orlin algorithm for finding
    99   /// This class implements the Hartmann-Orlin algorithm for finding
   100   /// a directed cycle of minimum mean length (cost) in a digraph.
   100   /// a directed cycle of minimum mean length (cost) in a digraph.
   101   /// It is an improved version of \ref Karp "Karp's original algorithm",
   101   /// It is an improved version of \ref Karp "Karp"'s original algorithm,
   102   /// it applies an efficient early termination scheme.
   102   /// it applies an efficient early termination scheme.
       
   103   /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
   103   ///
   104   ///
   104   /// \tparam GR The type of the digraph the algorithm runs on.
   105   /// \tparam GR The type of the digraph the algorithm runs on.
   105   /// \tparam LEN The type of the length map. The default
   106   /// \tparam LEN The type of the length map. The default
   106   /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
   107   /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
   107 #ifdef DOXYGEN
   108 #ifdef DOXYGEN