1.1 --- a/doc/graphs.dox Tue Feb 22 10:23:08 2005 +0000
1.2 +++ b/doc/graphs.dox Tue Feb 22 10:23:32 2005 +0000
1.3 @@ -5,34 +5,33 @@
1.4 The primary data structures of LEMON are the graph classes. They all
1.5 provide a node list - edge list interface, i.e. they have
1.6 functionalities to list the nodes and the edges of the graph as well
1.7 -as in incoming and outgoing edges of a given node.
1.8 +as incoming and outgoing edges of a given node.
1.9
1.10
1.11 Each graph should meet the
1.12 \ref lemon::concept::StaticGraph "StaticGraph" concept.
1.13 This concept does not
1.14 -makes it possible to change the graph (i.e. it is not possible to add
1.15 +make it possible to change the graph (i.e. it is not possible to add
1.16 or delete edges or nodes). Most of the graph algorithms will run on
1.17 these graphs.
1.18
1.19 The graphs meeting the
1.20 \ref lemon::concept::ExtendableGraph "ExtendableGraph"
1.21 concept allow node and
1.22 -edge addition. You can also "clear" (i.e. erase all edges and nodes)
1.23 -such a graph.
1.24 +edge addition. You can also "clear" such a graph (i.e. erase all edges and nodes ).
1.25
1.26 In case of graphs meeting the full feature
1.27 \ref lemon::concept::ErasableGraph "ErasableGraph"
1.28 concept
1.29 -you can also erase individual edges and node in arbitrary order.
1.30 +you can also erase individual edges and nodes in arbitrary order.
1.31
1.32 The implemented graph structures are the following.
1.33 \li \ref lemon::ListGraph "ListGraph" is the most versatile graph class. It meets
1.34 the \ref lemon::concept::ErasableGraph "ErasableGraph" concept
1.35 -and it also have some convenience features.
1.36 +and it also has some convenient extra features.
1.37 \li \ref lemon::SmartGraph "SmartGraph" is a more memory
1.38 efficient version of \ref lemon::ListGraph "ListGraph". The
1.39 -price of it is that it only meets the
1.40 +price of this is that it only meets the
1.41 \ref lemon::concept::ExtendableGraph "ExtendableGraph" concept,
1.42 so you cannot delete individual edges or nodes.
1.43 \li \ref lemon::SymListGraph "SymListGraph" and
1.44 @@ -45,7 +44,7 @@
1.45 attach data to the edges in such a way that the stored data
1.46 are shared by the edge pairs.
1.47 \li \ref lemon::FullGraph "FullGraph"
1.48 -implements a full graph. It is a \ref lemon::concept::StaticGraph, so you cannot
1.49 +implements a complete graph. It is a \ref lemon::concept::StaticGraph, so you cannot
1.50 change the number of nodes once it is constructed. It is extremely memory
1.51 efficient: it uses constant amount of memory independently from the number of
1.52 the nodes of the graph. Of course, the size of the \ref maps-page "NodeMap"'s and
1.53 @@ -60,7 +59,7 @@
1.54 \todo Don't we need SmartNodeSet and SmartEdgeSet?
1.55 \todo Some cross-refs are wrong.
1.56
1.57 -The graph structures itself can not store data attached
1.58 +The graph structures themselves can not store data attached
1.59 to the edges and nodes. However they all provide
1.60 \ref maps-page "map classes"
1.61 to dynamically attach data the to graph components.
1.62 @@ -100,8 +99,8 @@
1.63 if (i != j) g.addEdge(i, j);
1.64 \endcode
1.65
1.66 -After some convenience typedefs we create a graph and add three nodes to it.
1.67 -Then we add edges to it to form a full graph.
1.68 +After some convenient typedefs we create a graph and add three nodes to it.
1.69 +Then we add edges to it to form a complete graph.
1.70
1.71 \code
1.72 std::cout << "Nodes:";
1.73 @@ -133,8 +132,9 @@
1.74 Edges: (0,2) (1,2) (0,1) (2,1) (1,0) (2,0)
1.75 \endcode
1.76
1.77 -We can also iterate through all edges of the graph very similarly. The target and
1.78 -source member functions can be used to access the endpoints of an edge.
1.79 +We can also iterate through all edges of the graph very similarly. The
1.80 +\c target and
1.81 +\c source member functions can be used to access the endpoints of an edge.
1.82
1.83 \code
1.84 NodeIt first_node(g);
1.85 @@ -185,7 +185,7 @@
1.86 concepts that allow us to attach containers to graphs. These containers are
1.87 called maps.
1.88
1.89 -In the example above we create an EdgeMap which assigns an int value to all
1.90 +In the example above we create an EdgeMap which assigns an integer value to all
1.91 edges of the graph. We use the set member function of the map to write values
1.92 into the map and the operator[] to retrieve them.
1.93