# Table of Contents: the Boost Graph Library

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 bindings
14. Visitor Concepts
    1. BFS Visitor
    2. DFS Visitor
    3. Dijkstra Visitor
    4. Bellman Ford Visitor
    5. A* Visitor
    6. Event Visitor
    7. Planar Face Visitor
    8. TSP Tour 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`
    5. `tsp_tour_visitor`
    6. `tsp_tour_len_visitor`
17. Graph classes
    1. `adjacency_list`
    2. `adjacency_matrix`
    3. `compressed_sparse_row_graph`
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`
          6. `r_c_shortest_paths` - resource-constrained 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 and Matching Algorithms
          1. `edmonds_karp_max_flow`
          2. `push_relabel_max_flow`
          3. `kolmogorov_max_flow`
          4. `edmonds_maximum_cardinality_matching`
       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. Path and Tour Algorithms
           1. `metric_tsp_approx`
       12. `sequential_vertex_coloring`
       13. `sloan_ordering`
       14. `sloan_start_end_vertices`
       15. `ith_wavefront`, `max_wavefront`, `aver_wavefront`, and `rms_wavefront`
       16. `brandes_betweenness_centrality`
       17. Layout algorithms
           1. `random_graph_layout`
           2. `circle_layout`
           3. `kamada_kawai_spring_layout`
           4. `fruchterman_reingold_force_directed_layout`
           5. `gursoy_atun_layout`
       18. Clustering algorithms
           1. `betweenness_centrality_clustering`
       19. `astar_search`
       20. `lengauer_tarjan_dominator_tree`
       21. `minimum_cycle_ratio` and `maximum_cycle_ratio`
       22. Planar Graph Algorithms
           1. `boyer_myrvold_planarity_test`
           2. `planar_face_traversal`
           3. `planar_canonical_ordering`
           4. `chrobak_payne_straight_line_drawing`
           5. `is_straight_line_drawing`
           6. `is_kuratowski_subgraph`
           7. `make_connected`
           8. `make_biconnected_planar`
           9. `make_maximal_planar`
       23. `lengauer_tarjan_dominator_tree`
22. Graph Input/Output
    1. AT&T Graphviz: read_graphviz, write_graphviz
    2. DIMACS Max-flow: read_dimacs_max_flow, write_dimacs_max_flow
    3. GraphML: read_graphml and write_graphml
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. `sorted_erdos_renyi_iterator`
       7. `plod_iterator`
       8. `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)