doc/graphs.dox
changeset 2116 b6a68c15a6a3
parent 2115 4cd528a30ec1
child 2260 4274224f8a7d
equal deleted inserted replaced
16:60acc041f51e 17:203658815efb
     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