diff -r 02083323ff2c -r ef12f83752f6 graphs.dox --- a/graphs.dox Mon Feb 15 01:47:33 2010 +0100 +++ b/graphs.dox Mon Feb 15 01:51:58 2010 +0100 @@ -2,7 +2,7 @@ * * This file is a part of LEMON, a generic C++ optimization library. * - * Copyright (C) 2003-2009 + * Copyright (C) 2003-2010 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport * (Egervary Research Group on Combinatorial Optimization, EGRES). * @@ -38,7 +38,7 @@ In LEMON, there are various graph types, which are rather different, but they all conform to the corresponding \ref graph_concepts "graph concept", -which defines the common part of the graph interfaces. +which defines the common part of the graph interfaces. The \ref concepts::Digraph "Digraph concept" describes the common interface of directed graphs (without any sensible implementation), while the \ref concepts::Graph "Graph concept" describes the undirected graphs. @@ -50,7 +50,7 @@ The graph %concepts define the member classes for the iterators and maps along with some useful basic functions for obtaining the identifiers of the items, the end nodes of the arcs (or edges) and their iterators, -etc. +etc. An actual graph implementation may have various additional functionalities according to its purpose. @@ -66,7 +66,7 @@ \ref SmartDigraph is another general digraph implementation, which is significantly more efficient (both in terms of space and time), but it provides less functionality. For example, nodes and arcs cannot be -removed from it. +removed from it. \ref FullDigraph is an efficient implementation of a directed full graph. This structure is completely static, so you can neither add nor delete @@ -81,7 +81,7 @@ They provide similar features to the digraph structures. The \ref concepts::Graph "undirected graphs" also fulfill the concept of -\ref concepts::Digraph "directed graphs", in such a way that each +\ref concepts::Digraph "directed graphs", in such a way that each undirected \e edge of a graph can also be regarded as two oppositely directed \e arcs. As a result, all directed graph algorithms automatically run on undirected graphs, as well. @@ -98,7 +98,7 @@ For example, \code ListGraph g; - + ListGraph::Node a = g.addNode(); ListGraph::Node b = g.addNode(); ListGraph::Node c = g.addNode(); @@ -133,7 +133,7 @@ \code std::cout << "Edge " << g.id(e) << " connects node " << g.id(g.u(e)) << " and node " << g.id(g.v(e)) << std::endl; - + std::cout << "Arc " << g.id(a2) << " goes from node " << g.id(g.source(a2)) << " to node " << g.id(g.target(a2)) << std::endl; \endcode @@ -183,7 +183,7 @@ // std::cout << arc_cost[e] << std::endl; // this is not valid std::cout << arc_cost[a1] << ", " << arc_cost[a2] << std::endl; \endcode - + [SEC]sec_special_graphs[SEC] Special Graph Structures In addition to the general undirected classes \ref ListGraph and