The most efficient implementation of diverse applications require the usage of different physical graph implementations. These differences appear in the size of graph we require to handle, memory or time usage limitations or in the set of operations through which the graph can be accessed. LEMON provides several physical graph structures to meet the diverging requirements of the possible users. In order to save on running time or on memory usage, some structures may fail to provide some graph features like edge or node deletion.
Alteration of standard containers need a very limited number of operations, these together satisfy the everyday requirements. In the case of graph structures, different operations are needed which do not alter the physical graph, but gives another view. If some nodes or edges have to be hidden or the reverse oriented graph have to be used, then this is the case. It also may happen that in a flow implementation the residual graph can be accessed by another algorithm, or a node-set is to be shrunk for another algorithm. LEMON also provides a variety of graphs for these requirements called graph adaptors. Adaptors cannot be used alone but only in conjunction with other graph representations.
You are free to use the graph structure that fit your requirements the best, most graph algorithms and auxiliary data structures can be used with any graph structures.
Classes | |
class | FullGraph |
A full graph class. More... | |
class | FullUGraph |
An undirected full graph class. More... | |
class | FullBpUGraph |
An undirected full bipartite graph class. More... | |
class | GridUGraph |
Grid graph class. More... | |
class | HyperCubeGraph |
HyperCube graph class. More... | |
class | ListGraph |
A list graph class. More... | |
class | ListUGraph |
An undirected list graph class. More... | |
class | ListBpUGraph |
A smart bipartite undirected graph class. More... | |
class | SmartGraph |
A smart graph class. More... | |
class | SmartUGraph |
A smart undirected graph class. More... | |
class | SmartBpUGraph |
A smart bipartite undirected graph class. More... | |
Modules | |
Adaptor Classes for Graphs | |
This group contains several adaptor classes for graphs. | |
Semi-Adaptor Classes for Graphs | |
Graph types between real graphs and graph adaptors. | |
Files | |
file | full_graph.h |
FullGraph and FullUGraph classes. | |
file | grid_ugraph.h |
GridUGraph class. | |
file | hypercube_graph.h |
HyperCubeGraph class. | |
file | list_graph.h |
ListGraph, ListUGraph classes. | |
file | smart_graph.h |
SmartGraph and SmartUGraph classes. | |
file | vmap.h |
Virtual map support. |