Poetry Madness
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores


    Recently Viewed clear list


    Original Essays | March 11, 2015

    Mark Adams: IMG All Signs Point to Atlantis



    When I tell people I've spent the last three years working on a book about Atlantis, they usually have two questions. The first almost always goes... Continue »

    spacer
Qualifying orders ship free.
$19.95
Used Trade Paper
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Beaverton COMP- LANG C++

More copies of this ISBN

The Boost Graph Library: User Guide and Reference Manual with CDROM (C++ in Depth)

by

The Boost Graph Library: User Guide and Reference Manual with CDROM (C++ in Depth) Cover

 

Synopses & Reviews

Publisher Comments:

“This book is unique because it discusses graph algorithms in terms of generic programming, and because it presents a concrete, usable library that embodies those algorithms.”—Matthew H. Austern, AT & T Labs-Research

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
  • BGL concepts 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.

    0201729148B11212001

    Book News Annotation:

    The boost graph library (BGL) is the first C++ graph library to apply the notion of generic programming to the construction of graph algorithms. This book introduces the major features of BGL, applies the concepts to the solution of real-world problems, and documents all BGL algorithms and classes. The CD-ROM contains the complete source code of the BGL.
    Annotation c. Book News, Inc., Portland, OR (booknews.com)

    Synopsis:

    The first complete tutorial and reference on the Boost Graphic Library (BGL) — by its creators!

    -- New graph data structures and algorithms that can help experienced C++ developers save time and dramatically improve code reliability and performance.

    -- Practical new insights into generic programming — techniques you can use to build your own libraries!

    -- CD-ROM includes complete electronic version of the book, in hyperlinked, searchable PDF format, as well as the BGL itself.

    The Boost Graphic Library (BGL) gives experienced C++ developers high quality implementations of a wide range of graph data structures and algorithms — helping them save time that would otherwise have been spent on developing and debugging. Now, the BGL's creators offer a complete tutorial and reference designed to help developers get results with the BGL quickly. They also offer practical, hard-to-find guidance on generic programming that can help developers build their own software development libraries. For practicing programmers, the book introduces high quality implementations of graph data structures and algorithms that deliver outstanding efficiency and performance, and presents the BGL's flexible interface, which enables programmers to apply graph algorithms in settings where a graph may exist only implicitly. For all intermediate-to-advanced C++ programmers.

    About the Author

    Jeremy G. Siek is a leading expert in C++ and generic programming and is currently pursuing his doctoral degree at Indiana University. He is interested in the design of programming languages that support generic programming and in high performance libraries. Jeremy is a member of the ISO C++ Standards Committee and is an active member of the Boost C++ Library Group, where he has contributed several libraries in addition to the BGL.

    Lie-Quan (Rich) Lee developed the first version of the BGL. A doctoral candidate at the University of Notre Dame, his research interests include generic programming, scientific component libraries, and high performance computing. Rich is an active member of the Boost C++ Library Group.

    Andrew Lumsdaine is an Associate Professor in the Computer Science Department and Associate Director of the Open Systems Laboratory at Indiana University. In addition to generic programming and software engineering, his research program includes projects in computational science and engineering, parallel and distributed computing, mathematical software, and numerical analysis. Andrew is a member of the ISO C++ Standards Committee and the Boost C++ Library Group.

    0201729148AB11212001

    Table of Contents

    Foreword.

    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.

    File Dependencies.

    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. 0201729148T12172001

    Product Details

    ISBN:
    9780201729146
    Author:
    Siek, Jeremy G.
    Author:
    Lee, Lie-Quan
    Author:
    Siek, Jeremy G.
    Author:
    Lumsdaine, Andrew
    Publisher:
    Addison-Wesley Professional
    Location:
    Boston
    Subject:
    Programming Languages - C
    Subject:
    Programming Languages - General
    Subject:
    C (computer program language)
    Subject:
    Programming - General
    Subject:
    C
    Subject:
    Computer Languages-C++
    Copyright:
    Edition Description:
    Trade paper
    Series:
    C++ in-depth series
    Series Volume:
    no. 11
    Publication Date:
    December 2001
    Binding:
    TRADE PAPER
    Grade Level:
    Professional and scholarly
    Language:
    English
    Illustrations:
    Yes
    Pages:
    352
    Dimensions:
    9 x 7.3 x 0.8 in 603 gr

    Other books you might like

    1. Essential C++ Used Trade Paper $38.00
    2. C++ Standard Library: A Tutorial and... Used Hardcover $24.00
    3. Xenophon III: Anabasis (Loeb... New Hardcover $33.75

    Related Subjects

    Computers and Internet » Computer Languages » C++
    Computers and Internet » Software Engineering » Programming and Languages

    The Boost Graph Library: User Guide and Reference Manual with CDROM (C++ in Depth) Used Trade Paper
    0 stars - 0 reviews
    $19.95 In Stock
    Product details 352 pages Addison-Wesley Professional - English 9780201729146 Reviews:
    "Synopsis" by , The first complete tutorial and reference on the Boost Graphic Library (BGL) — by its creators!

    -- New graph data structures and algorithms that can help experienced C++ developers save time and dramatically improve code reliability and performance.

    -- Practical new insights into generic programming — techniques you can use to build your own libraries!

    -- CD-ROM includes complete electronic version of the book, in hyperlinked, searchable PDF format, as well as the BGL itself.

    The Boost Graphic Library (BGL) gives experienced C++ developers high quality implementations of a wide range of graph data structures and algorithms — helping them save time that would otherwise have been spent on developing and debugging. Now, the BGL's creators offer a complete tutorial and reference designed to help developers get results with the BGL quickly. They also offer practical, hard-to-find guidance on generic programming that can help developers build their own software development libraries. For practicing programmers, the book introduces high quality implementations of graph data structures and algorithms that deliver outstanding efficiency and performance, and presents the BGL's flexible interface, which enables programmers to apply graph algorithms in settings where a graph may exist only implicitly. For all intermediate-to-advanced C++ programmers.

    spacer
    spacer
    • back to top

    FOLLOW US ON...

         
    Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.