Changeset 1527:7ceab500e1f6 in lemon-0.x for lemon
- Timestamp:
- 07/01/05 12:33:27 (19 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2014
- Location:
- lemon
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concept/sym_graph.h
r1526 r1527 43 43 /// or it can serve as a skeleton of a new symmetric graph structure. 44 44 /// 45 /// Also, you will find here the full documentation of a certaingraph46 /// feature , the documentation of a real symmetric graph imlementation45 /// Also, you will find here the full documentation of graph 46 /// features, the documentation of a real symmetric graph imlementation 47 47 /// like @ref SymListGraph or 48 48 /// @ref lemon::SymSmartGraph will just refer to this structure. … … 55 55 /// 56 56 StaticSymGraph() { } 57 // /Copy consructor.57 // ///Copy consructor. 58 58 59 59 // ///\todo It is not clear, what we expect from a copy constructor. … … 94 94 /// Inequality operator 95 95 96 /// \sa operator==(Node n)96 /// \sa operator==(Node) 97 97 /// 98 98 bool operator!=(Node) const { return true; } … … 142 142 143 143 /// Sets the iterator to the node of \c g pointed by the trivial 144 /// iterator n.144 /// iterator \c n. 145 145 /// This feature necessitates that each time we 146 /// iterate the edge-set, the iteration order is the same.146 /// iterate the node-set, the iteration order is the same. 147 147 NodeIt(const StaticSymGraph& g, const Node& n) { } 148 148 /// Next node. … … 268 268 /// This constructor sets the iterator to first outgoing edge. 269 269 270 /// This constructor set the iterator to the first outgoing edge of271 /// node270 /// This constructor sets the iterator to the first outgoing edge of 271 /// the node 272 272 ///@param n the node 273 273 ///@param g the graph … … 317 317 /// This constructor sets the iterator to first incoming edge. 318 318 319 /// This constructor set the iterator to the first incoming edge of320 /// node319 /// This constructor sets the iterator to the first incoming edge of 320 /// the node 321 321 ///@param n the node 322 322 ///@param g the graph … … 362 362 /// This constructor sets the iterator to first edge. 363 363 364 /// This constructor set the iterator to the first edge of365 /// node364 /// This constructor sets the iterator to the first edge of 365 /// the graph 366 366 ///@param g the graph 367 367 SymEdgeIt(const StaticSymGraph& g) { } … … 406 406 /// This constructor sets the iterator to first edge. 407 407 408 /// This constructor set the iterator to the first edge of409 /// node408 /// This constructor sets the iterator to the first edge of 409 /// the graph 410 410 ///@param g the graph 411 411 EdgeIt(const StaticSymGraph& g) { } … … 590 590 /// An empty non-static graph class. 591 591 592 /// This class provides everything that\ref StaticGraph593 /// with additional functionality which enablesto build a592 /// This class is an extension of \ref StaticGraph 593 /// with additional functionality that enables one to build a 594 594 /// graph from scratch. 595 class ExtendableSymGraph : public StaticSymGraph595 class ExtendableSymGraph : public StaticSymGraph 596 596 { 597 597 public: … … 623 623 /// An empty erasable graph class. 624 624 625 /// This class is an extension of \ref ExtendableGraph. It also makes it626 /// possible to erase edges or nodes .625 /// This class is an extension of \ref ExtendableGraph. It is also 626 /// possible to erase edges or nodes in this graph. 627 627 class ErasableSymGraph : public ExtendableSymGraph 628 628 { -
lemon/min_cost_flow.h
r1435 r1527 39 39 /// The class \ref lemon::MinCostFlow "MinCostFlow" implements an 40 40 /// algorithm for finding a flow of value \c k having minimal total 41 /// cost from a given source node to a given target node in a n42 /// edge-weighted directed graph. To this end, the edge-capacities43 /// and edge-weights have to be nonnegative. The edge-capacities44 /// should be integers, but the edge-weights can be integers, reals45 /// or of other comparable numeric type. This algorithm is intended46 /// to be used only for small values of \c k, since it is only47 /// polynomial in k, not in the length of k (which is log k):in48 /// order to find the minimum cost flow of value \c k it finds the49 /// minimum cost flow of value \c i for every \c i between 0 and \c50 /// k.41 /// cost from a given source node to a given target node in a 42 /// directed graph with a cost function on the edges. To 43 /// this end, the edge-capacities and edge-costs have to be 44 /// nonnegative. The edge-capacities should be integers, but the 45 /// edge-costs can be integers, reals or of other comparable 46 /// numeric type. This algorithm is intended to be used only for 47 /// small values of \c k, since it is only polynomial in k, not in 48 /// the length of k (which is log k): in order to find the minimum 49 /// cost flow of value \c k it finds the minimum cost flow of value 50 /// \c i for every \c i between 0 and \c k. 51 51 /// 52 52 ///\param Graph The directed graph type the algorithm runs on. … … 118 118 119 119 \param _g The directed graph the algorithm runs on. 120 \param _length The length ( weight orcost) of the edges.120 \param _length The length (cost) of the edges. 121 121 \param _cap The capacity of the edges. 122 122 \param _s Source node. … … 204 204 } 205 205 206 /// Total weight of the found flow.207 208 /// This function gives back the total weight of the found flow.206 /// Total cost of the found flow. 207 208 /// This function gives back the total cost of the found flow. 209 209 Length totalLength(){ 210 210 return total_length; -
lemon/suurballe.h
r1435 r1527 40 40 /// edge-weighted directed graph having minimal total weight (length). 41 41 /// 42 ///\warning Length values should be nonnegative .42 ///\warning Length values should be nonnegative! 43 43 /// 44 44 ///\param Graph The directed graph type the algorithm runs on. … … 122 122 123 123 paths.clear(); 124 //total_length=0;125 124 paths.resize(k); 126 125 for (int j=0; j<i; ++j){ … … 136 135 n = G.target(e); 137 136 paths[j].push_back(e); 138 //total_length += length[e];139 137 reversed[e] = 1-reversed[e]; 140 138 } … … 167 165 ///This function checks, whether the given solution is optimal. 168 166 ///Currently this function only checks optimality, 169 ///doesn't bother with feasibility 167 ///doesn't bother with feasibility. 170 168 ///It is meant for testing purposes. 171 169 bool checkComplementarySlackness(){ … … 176 174 177 175 ///This function gives back the \c j-th path in argument p. 178 ///Assumes that \c run() has been run and nothing changed since then.176 ///Assumes that \c run() has been run and nothing has changed since then. 179 177 /// \warning It is assumed that \c p is constructed to 180 178 ///be a path of graph \c G. … … 183 181 /// 184 182 ///\param Path The type of the path structure to put the result to (must meet lemon path concept). 185 ///\param p The path to put the result to 186 ///\param j Which path you want to get from the found paths (in a real application you would get the found paths iteratively) 183 ///\param p The path to put the result to. 184 ///\param j Which path you want to get from the found paths (in a real application you would get the found paths iteratively). 187 185 template<typename Path> 188 186 void getPath(Path& p, size_t j){
Note: See TracChangeset
for help on using the changeset viewer.