Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.
C++ Boost

Table of Contents: the Boost Graph Library BGL Book

  1. Introduction to the BGL
  2. History
  3. List of BGL Users
  4. Publications
  5. Acknowledgements
  6. A Quick Tour of the Boost Graph Library.
  7. Review of Elementary Graph Theory
  8. Boost Graph Library Tutorial
    1. Property Maps
    2. The adjacency_list class
  9. Examples
    1. File Dependency Example
    2. Six Degrees of Kevin Bacon
    3. Graph Coloring
    4. Sparse Matrix Ordering
  10. Extending the Boost Graph Library
    1. Constructing graph algorithms with BGL
    2. Converting Existing Graphs to BGL
  11. The Boost Graph Interface
    1. Graph
    2. Incidence Graph
    3. Bidirectional Graph
    4. Adjacency Graph
    5. Vertex List Graph
    6. Edge List Graph
    7. Vertex and Edge List Graph
    8. Mutable Graph
    9. Property Graph
    10. Mutable Property Graph
  12. The Property Map Library (technically not part of the graph library, but used a lot here)
  13. (Python)Python bindings
  14. Visitor Concepts
    1. BFS Visitor
    2. DFS Visitor
    3. Dijkstra Visitor
    4. Bellman Ford Visitor
    5. A* Visitor
    6. Event Visitor
  15. EventVisitorList Adaptors
    1. Event Visitor List
    2. bfs_visitor
    3. dfs_visitor
    4. dijkstra_visitor
    5. bellman_visitor
    6. astar_visitor
  16. Event Visitors
    1. predecessor_recorder
    2. distance_recorder
    3. time_stamper
    4. property_writer
  17. Graph classes
    1. adjacency_list
    2. adjacency_matrix
  18. Graph Adaptors
    1. subgraph
    2. edge_list
    3. reverse_graph
    4. filtered_graph
    5. Vector as Graph *
    6. Matrix as Graph*
    7. Leda Graph *
    8. Stanford GraphBase
  19. Iterator Adaptors
    1. adjacency_iterator
    2. inv_adjacency_iterator
  20. Traits classes
    1. graph_traits
    2. adjacency_list_traits
    3. property_map
  21. Algorithms
    1. bgl_named_params
    2. Core Algorithm Patterns
      1. breadth_first_search
      2. breadth_first_visit
      3. depth_first_search
      4. depth_first_visit
      5. undirected_dfs
    3. Graph Algorithms
      1. Shortest Paths Algorithms
        1. dijkstra_shortest_paths
        2. bellman_ford_shortest_paths
        3. dag_shortest_paths
        4. johnson_all_pairs_shortest_paths
        5. floyd_warshall_all_pairs_shortest_paths
      2. Minimum Spanning Tree Algorithms
        1. kruskal_minimum_spanning_tree
        2. prim_minimum_spanning_tree
      3. Connected Components Algorithms
        1. connected_components
        2. strong_components
        3. biconnected_components
        4. articulation_points
        5. Incremental Connected Components
          1. initialize_incremental_components
          2. incremental_components
          3. same_component
          4. component_index
      4. Maximum Flow Algorithms
        1. edmunds_karp_max_flow
        2. push_relabel_max_flow
      5. Sparse Matrix Ordering Algorithms
        1. cuthill_mckee_ordering
        2. king_ordering
        3. minimum_degree_ordering
      6. topological_sort
      7. transitive_closure
      8. copy_graph
      9. transpose_graph
      10. isomorphism
      11. sequential_vertex_coloring
      12. sloan_ordering
      13. sloan_start_end_vertices
      14. ith_wavefront, max_wavefront, aver_wavefront, and rms_wavefront
      15. brandes_betweenness_centrality
      16. Layout algorithms
        1. random_graph_layout
        2. circle_layout
        3. kamada_kawai_spring_layout
        4. fruchterman_reingold_force_directed_layout
        5. gursoy_atun_layout
      17. Clustering algorithms
        1. betweenness_centrality_clustering
      18. astar_search
  22. AT&T Graphviz Read/Write Utilities
    1. write_graphviz
    2. read_graphviz
  23. Auxiliary Concepts, Classes, and Functions
    1. property
    2. ColorValue
    3. Buffer
    4. BasicMatrix
    5. incident
    6. opposite
    7. bandwidth
    8. ith_bandwidth
    9. Tools for random graphs
      1. random_vertex
      2. random_edge
      3. generate_random_graph
      4. randomize_property
      5. erdos_renyi_iterator
      6. plod_iterator
      7. small_world_iterator
  24. Challenge and To-Do List
  25. Trouble Shooting
  26. Known Problems
  27. FAQ
  28. BGL Book Errata

* Items marked have not yet been documented.


Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
Lie-Quan Lee, Indiana University (llee@cs.indiana.edu)
Andrew Lumsdaine, Indiana University (lums@osl.iu.edu)