Changeset 1527:7ceab500e1f6 in lemon-0.x
- Timestamp:
- 07/01/05 12:33:27 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2014
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/graph_io.dox
r1526 r1527 207 207 \endcode 208 208 209 \section types The background of Reading and Writing 210 The \c GraphReader should know how to read a Value from the given map. 209 \section types Background of Reading and Writing 210 To read a map (on the nodes or edges) 211 the \c GraphReader should know how to read a Value from the given map. 211 212 By the default implementation the input operator reads a value from 212 213 the stream and the type of the readed value is the value type of the given map. 213 214 When the reader should skip a value in the stream, because you do not 214 want to store it in map, the reader skips a character sequence without215 want to store it in a map, the reader skips a character sequence without 215 216 whitespace. 216 217 … … 230 231 \endcode 231 232 232 Byexample, the \c "strings" nodemap contains strings and you do not need233 For example, the \c "strings" nodemap contains strings and you do not need 233 234 the value of the string just the length. Then you can implement own Reader 234 235 struct. … … 254 255 DefaultReader for skipping a value. 255 256 256 The specialization of the writing should be very similar to thereading.257 The specialization of writing should be very similar to that of reading. 257 258 258 259 \author Balazs Dezso -
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.