COIN-OR::LEMON - Graph Library

source: lemon-0.x/doc/groups.dox @ 1846:6b4e38acef1c

Last change on this file since 1846:6b4e38acef1c was 1750:5c76ebbb4818, checked in by Balazs Dezso, 18 years ago

Connected components, etc...
Based on the dfs visitor interface

File size: 5.5 KB
Line 
1
2/**
3@defgroup datas Data Structures
4This group describes the several graph structures implemented in LEMON.
5*/
6
7/**
8@defgroup graphs Graph Structures
9@ingroup datas
10\brief Graph structures implemented in LEMON.
11
12The implementation of combinatorial algorithms heavily relies on
13efficient graph implementations. LEMON offers data structures which are
14planned to be easily used in an experimental phase of implementation studies,
15and thereafter the program code can be made efficient by small modifications.
16
17The most efficient implementation of diverse applications require the usage of different physical graph implementations. These differences appear in the size of
18graph we require to handle, memory or time usage limitations or in
19the set of operations through which the graph can be accessed.
20LEMON provides several physical graph structures to meet the
21diverging requirements of the possible users.
22In order to save on running time or on memory usage, some structures may
23fail to provide some graph features like edge or node deletion.
24
25Alteration of standard containers need a very limited number of
26operations, these together satisfy the everyday requirements.
27In the case of graph strutures, different operations are needed which do
28not alter the physical graph, but gives an other view. If some nodes or
29edges have to be hidden or the reverse oriented graph have to be used, then
30this is the case. It also may happen that in a flow implemenation
31the residual graph can be accessed by an other algorithm, or a node-set
32is to be shrunk for an other algorithm.
33LEMON also provides a variety of graphs for these requirements called
34\ref graph_adaptors "graph adaptors". Adaptors cannot be used alone but only
35in conjunction with other graph representation.
36
37You are free to use the graph structure that fit your requirements
38the best, most graph algorithms and auxiliary data structures can be used
39with any graph structures.
40*/
41
42/**
43@defgroup maps Maps
44@ingroup datas
45\brief Some special purpose map to make life easier.
46
47LEMON provides several special maps that e.g. combine
48new maps from existing ones.
49*/
50
51
52/**
53@defgroup graph_maps Graph Maps
54@ingroup maps
55\brief Special Graph-Related Maps.
56
57These maps are specifically designed to assign values to the nodes and edges of
58graphs.
59*/
60
61
62/**
63\defgroup map_adaptors Map Adaptors
64\ingroup maps
65\brief Tools to create new maps from existing ones
66
67Map adaptors are used to create "implicit" maps from other maps.
68
69Most of them are \ref lemon::concept::ReadMap "ReadMap"s. They can
70make arithmetic oprerations between one or two maps (negation, scalig,
71addition, multiplication etc.) or e.g. convert a map to another one
72of different Value type.
73*/
74
75/**
76@defgroup auxdat Auxiliary Data Structures
77@ingroup datas
78\brief Some data structures implemented in LEMON.
79
80This group describes the data structures implemented in LEMON in
81order to make it easier to implement combinatorial algorithms.
82*/
83
84/**
85@defgroup graphmapfactory Tools to Make It Easier to Make Graph Maps
86@ingroup auxdat
87\brief Tools to Make It Easier to Make Graph Maps.
88
89This group describes the tools that makes it easier to make graph maps that
90dynamically update with the graph changes.
91*/
92
93/**
94@defgroup galgs Graph Algorithms
95\brief This group describes the several graph algorithms
96implemented in LEMON.
97
98This group describes the several graph algorithms
99implemented in LEMON.
100*/
101
102/**
103@defgroup gutils General Graph Utilities
104\brief This group describes some simple general graph utilities.
105@ingroup galgs
106
107This group describes some simple general graph utilities.
108*/
109
110/**
111@defgroup gen_opt_group General Optimization Tools
112\brief This group describes some general optimization frameworks
113implemented in LEMON.
114
115\brief This group describes some general optimization frameworks
116implemented in LEMON.
117
118*/
119
120/**
121@defgroup flowalgs Path and Flow Algorithms
122@ingroup galgs
123\brief This group describes the algorithms
124for finding paths and flows in graphs.
125*/
126
127/**
128@defgroup topology Topology related algorithms
129@ingroup galgs
130\brief This group describes the algorithms
131for discover the topology of the graphs.
132*/
133
134/**
135@defgroup exceptions Exceptions
136This group contains the exceptions thrown by LEMON library
137*/
138
139/**
140@defgroup misc Miscellaneous Tools
141Here you can find several useful tools for development,
142debugging and testing.
143*/
144
145/**
146@defgroup io_group Input Output
147Here you can find tools for imporing and exporting graphs and graph related
148data
149*/
150
151/**
152@defgroup concept Concepts
153\brief Skeleton classes and concept checking classes
154
155This group describes the data/algorithm skeletons and concept checking
156classes implemented in LEMON.
157
158One aim of these classes is to make it easier to check if a certain
159class or template function is correctly implemented.
160
161The other (sometimes even more important) aim is to document the concepts.
162
163*/
164
165/**
166@defgroup graph_concepts Graph Structure Concepts
167@ingroup concept
168\brief Skeleton and concept checking classes for graph structures
169
170This group contains the skeletons and concept checking classes of LEMON's
171graph structures and helper classes used to implement these.
172*/
173
174/* --- Unused group
175@defgroup experimental Experimental Structures and Algorithms
176This group contains some Experimental structures and algorithms.
177The stuff here is subject to change.
178*/
179
180/**
181\anchor demoprograms
182
183@defgroup demos Demo programs
184
185Some demo programs are listed here. Their full source codes can be found in
186the \c demo subdirectory of the source tree.
187
188The standard compilation procedure (<tt>./configure;make</tt>) will compile
189them, as well.
190
191*/
192
Note: See TracBrowser for help on using the repository browser.