Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You could use <a href="http://www.boost.org/doc/libs/1_46_1/libs/graph/doc/index.html" rel="nofollow">Boost.Graph</a> library.</p> <p>Very complicated at first, but provide efficient data storage and highly optimized graph algorithm implementations.</p> <p>From the site: </p> <h2>Algorithms</h2> <p>The BGL algorithms consist of a core set of algorithm patterns (implemented as generic algorithms) and a larger set of graph algorithms. The core algorithm patterns are</p> <ul> <li>Breadth First Search</li> <li>Depth First Search</li> <li>Uniform Cost Search</li> </ul> <p>By themselves, the algorithm patterns do not compute any meaningful quantities over graphs; they are merely building blocks for constructing graph algorithms. The graph algorithms in the BGL currently include</p> <ul> <li>Dijkstra's Shortest Paths</li> <li>Bellman-Ford Shortest Paths</li> <li>Johnson's All-Pairs Shortest Paths</li> <li>Kruskal's Minimum Spanning Tree</li> <li>Prim's Minimum Spanning Tree</li> <li>Connected Components</li> <li>Strongly Connected Components</li> <li>Dynamic Connected Components (using Disjoint Sets)</li> <li>Topological Sort Transpose</li> <li>Reverse Cuthill Mckee Ordering</li> <li>Smallest Last Vertex Ordering</li> <li>Sequential Vertex Coloring</li> </ul> <h2>Data Structures</h2> <p>The BGL currently provides two graph classes and an edge list adaptor:</p> <ul> <li>adjacency_list</li> <li>adjacency_matrix</li> <li>edge_list</li> </ul> <p>The <code>adjacency_list</code> class is the general purpose “swiss army knife” of graph classes. It is highly parameterized so that it can be optimized for different situations: the graph is directed or undirected, allow or disallow parallel edges, efficient access to just the out-edges or also to the in-edges, fast vertex insertion and removal at the cost of extra space overhead, etc.</p> <p>The <code>adjacency_matrix</code> class stores edges in a |V| x |V| matrix (where |V| is the number of vertices). The elements of this matrix represent edges in the graph. Adjacency matrix representations are especially suitable for very dense graphs, i.e., those where the number of edges approaches |V|2.</p> <p>The <code>edge_list</code> class is an adaptor that takes any kind of edge iterator and implements an Edge List Graph. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload