7 the basic functions and the differences of the implementations. |
7 the basic functions and the differences of the implementations. |
8 |
8 |
9 The primary data structures of LEMON are the graph classes. They all |
9 The primary data structures of LEMON are the graph classes. They all |
10 provide a node list - edge list interface, i.e. they have |
10 provide a node list - edge list interface, i.e. they have |
11 functionalities to list the nodes and the edges of the graph as well |
11 functionalities to list the nodes and the edges of the graph as well |
12 as incoming and outgoing edges of a given node. This functionalities |
12 as incoming and outgoing edges of a given node. |
13 are defined in the \ref lemon::concept::Graph "Graph" concept. |
|
14 |
13 |
15 The next important graph type concept is the undirected graph concept |
14 Each graph should meet the \ref lemon::concept::Graph "Graph" concept. |
16 what is defined in the \ref lemon::concept::UGraph "UGraph" concept class. |
15 This concept does not make it possible to change the graph (i.e. it is |
17 Each undirected graphs provide node - undirected edge list interfaces. |
16 not possible to add or delete edges or nodes). Most of the graph |
18 In addition the undirected graphs can be used as directed graphs so |
17 algorithms will run on these graphs. |
19 they are also conform to the \ref lemon::concept::Graph "Graph" concept. |
|
20 |
18 |
21 Usually the graphs can be sorted to two group, the first is the |
|
22 general topology graph types which can store any graph and the second |
|
23 are the special topology graphs like the \ref FullUGraph or the \ref |
|
24 GridUGraph. |
|
25 |
19 |
|
20 In case of graphs meeting the full feature |
|
21 \ref lemon::concept::ErasableGraph "ErasableGraph" |
|
22 concept |
|
23 you can also erase individual edges and nodes in arbitrary order. |
|
24 |
|
25 The implemented graph structures are the following. |
26 \li \ref lemon::ListGraph "ListGraph" is the most versatile graph class. It meets |
26 \li \ref lemon::ListGraph "ListGraph" is the most versatile graph class. It meets |
27 the \ref lemon::concept::ErasableGraph "ErasableGraph" concept |
27 the \ref lemon::concept::ErasableGraph "ErasableGraph" concept |
28 and it also has some convenient extra features. |
28 and it also has some convenient extra features. |
29 \li \ref lemon::SmartGraph "SmartGraph" is a more memory |
29 \li \ref lemon::SmartGraph "SmartGraph" is a more memory |
30 efficient version of \ref lemon::ListGraph "ListGraph". The |
30 efficient version of \ref lemon::ListGraph "ListGraph". The |