Boost Graph Library - User Guide and Reference Manual - Jeremy G.... - Librairie Eyrolles
Tous nos rayons

Déjà client ? Identifiez-vous

Mot de passe oublié ?

Nouveau client ?

CRÉER VOTRE COMPTE
Boost Graph Library
Ajouter à une liste

Librairie Eyrolles - Paris 5e
Indisponible

Boost Graph Library

Boost Graph Library

User Guide and Reference Manual

Jeremy G. Siek, Lie-Quan Lee, Andrew Lumsdaine

320 pages, parution le 01/02/2002

Résumé

The Boost Graph Library (BGL) is the first C++ library to apply the principles of generic programming to the construction of the advanced data structures and algorithms used in graph computations. Problems in such diverse areas as Internet packet routing, molecular biology, scientific computing, and telephone network design can be solved by using graph theory. This book presents an in-depth description of the BGL and provides working examples designed to illustrate the application of BGL to these real-world problems.

Written by the BGL developers, The Boost Graph Library: User Guide and Reference Manual gives you all the information you need to take advantage of this powerful new library. Part I is a complete user guide that begins by introducing graph concepts, terminology, and generic graph algorithms. This guide also takes the reader on a tour through the major features of the BGL; all motivated with example problems. Part II is a comprehensive reference manual that provides complete documentation of all BGL concepts, algorithms, and classes.

Readers will find coverage of:

  • Graph terminology and concepts
  • Generic programming techniques in C++
  • Shortest-path algorithms for Internet routing
  • Network planning problems using the minimum-spanning tree algorithms
  • BGL algorithms with implicitly defined graphs
  • BGL Interfaces to other graph libraries
  • BGLconcepts and algorithms
  • BGL classes-graph, auxiliary, and adaptor

Groundbreaking in its scope, this book offers the key to unlocking the power of the BGL for the C++ programmer looking to extend the reach of generic programming beyond the Standard Template Library.

The accompanying CD-ROM contains the complete source code of the BGL, along with a fully searchable, hyperlinked version of this book.

Contents

Preface.
I User Guide.
1. Introduction.
Some Graph Terminology.
Graph Concepts.
Vertex and Edge Descriptors.
Property Maps.
Graph Traversa.
Graph Construction and Modification
Algorithm Visitors.
Graph Classes and Adaptors.
Graph Classes.
Graph Adaptors.
Generic Graph Algorithms.
The Topological Sort Generic Algorithm.
The Depth-First Search Generic Algorithm.
2.Generic Programming in C++.
Introduction.
Polymorphism in Object-Oriented Programming.
Polymorphism in Generic Programming.
Comparison of GP and OOP.
Generic Programming and the STL.
Concepts and Models.
Sets of Requirements.
Example: InputIterator.
Associated Types and Traits Classes.
Associated Types Needed in Function Template.
Typedefs Nested in Classes.
Definition of a Traits Class.
Partial Specialization.
Tag Dispatching.
Concept Checking.
Concept-Checking Classes.
Concept Archetypes.
The Boost Namespace.
Classes.
Koenig Lookup.
Named Function Parameters.
3. A BGL Tutorial.
FileDependencies.
Graph Setup.
Compilation Order.
Topological Sort via DFS.
Marking Vertices Using External Properties.
Accessing Adjacent Vertices.
Traversing All the Vertices.
Cyclic Dependencies.
Toward a Generic DFS: Visitors.
Graph Setup: Internal Properties.
Compilation Time.
A Generic Topological Sort and DFS.
Parallel Compilation Time.
Summary.
4. Basic Graph Algorithms.
Breadth-First Search.
Definitions.
Six Degrees of Kevin Bacon.
Depth-First Search.
Definitions.
Finding Loops in Program-Control-Flow Graphs.
5. Shortest-Paths Problems.
Definitions.
Internet Routing.
Bellman-Ford and Distance Vector Routing.
Dijkstra and Link-State Routing.
6. Minimum-Spanning-Tree Problem.
Definitions.
Telephone Network Planning.
Kruskal's Algorithm.
Prim's Algorithm.
7. Connected Components.
Definitions.
Connected Components and Internet Connectivity.
Strongly Connected Components and Web Page Links.
8. Maximum Flow.
Definitions.
Edge Connectivity.
9. Implicit Graphs: A Knight's Tour.
Knight's Jumps as a Graph.
Backtracking Graph Search.
Warnsdorff's Heuristic.
10. Interfacing with Other Graph Libraries.
Using BGL Topological Sort with a LEDA Graph.
Using BGL Topological Sort with a SGB Graph.
Implementing Graph Adaptors.
11. Performance Guidelines.
Graph Class Comparisons.
The Results and Discussion.
Conclusion.
II Reference Manual.
12. BGL Concepts.
Graph Traversal Concepts.
Undirected Graphs.
Graph.
IncidenceGraph.
BidirectionalGraph.
AdjacencyGraph.
VertexListGraph.
EdgeListGraph.
AdjacencyMatrix.
Graph Modification Concepts.
VertexMutableGraph.
EdgeMutableGraph.
MutableIncidenceGraph.
MutableBidirectionalGraph.
MutableEdgeListGraph.
PropertyGraph.
VertexMutablePropertyGraph.
EdgeMutablePropertyGraph.
Visitor Concepts.
BFSVisitor.
DFSVisitor.
DijkstraVisitor.
BellmanFordVisitor.
13. BGL Algorithms.
Overview.
Basic Algorithms.
breadth_first_search.
breadth_first_visit.
depth_first_search.
depth_first_visit.
topological_sort.
Shortest-Path Algorithms.
dijkstra_shortest_paths.
bellman_ford_shortest_paths.
johnson_all_pairs_shortest_paths.
Minimum-Spanning-Tree Algorithms.
kruskal_minimum_spanning_tree.
prim_minimum_spanning_tree.
Static Connected Components.
connected_components.
strong_components.
Incremental Connected Components.
initialize_incremental_components.
incremental_components.
same_component.
component_index.
Maximum-Flow Algorithms.
edmunds_karp_max_flow.
push_relabel_max_flow.
14. BGL Classes.
Graph Classes.
adjacency_list.
adjacency_matrix.
Auxiliary Classes.
graph_traits.
adjacency_list_traits.
adjacency_matrix_traits.
property_map.
property.
Graph Adaptors.
edge_list.
reverse_graph.
filtered_graph.
SGB GraphPointer.
LEDA GRAPH<V,E>.
std::vector<EdgeList>.
15. Property Map Library.
Property Map Concepts.
ReadablePropertyMap.
WritablePropertyMap.
ReadWritePropertyMap.
LvaluePropertyMap.
Property Map Classes.
property_traits.
iterator_property_map.
Property Tags.
Creating Your Own Property Maps.
Property Maps for Stanford GraphBase.
A Property Map Implemented with std::map.
16 Auxiliary Concepts, Classes, and Functions.
Buffer.
ColorValue.
MultiPassInputIterator.
Monoid.
mutable queue.
Disjoint Sets.
disjoint_sets.
find_with_path_halving.
find_with_full_path_compression.
tie.
graph_property_iter_range.
Bibliography.
Index.

L'auteur - Andrew Lumsdaine

Andrew Lumsdaine is Associate Professor, Department of Computer Science and Engineering, University of Notre Dame.

Caractéristiques techniques

  PAPIER
Éditeur(s) Addison Wesley
Auteur(s) Jeremy G. Siek, Lie-Quan Lee, Andrew Lumsdaine
Parution 01/02/2002
Nb. de pages 320
Format 18,6 x 23,4
Couverture Broché
Poids 550g
Intérieur Noir et Blanc
EAN13 9780201729146

Avantages Eyrolles.com

Livraison à partir de 0,01 en France métropolitaine
Paiement en ligne SÉCURISÉ
Livraison dans le monde
Retour sous 15 jours
+ d'un million et demi de livres disponibles
satisfait ou remboursé
Satisfait ou remboursé
Paiement sécurisé
modes de paiement
Paiement à l'expédition
partout dans le monde
Livraison partout dans le monde
Service clients sav@commande.eyrolles.com
librairie française
Librairie française depuis 1925
Recevez nos newsletters
Vous serez régulièrement informé(e) de toutes nos actualités.
Inscription