Graphs --- ADT & Traversing

Steven J. Zeil

Old Dominion University, Dept. of Computer Science

Table of Contents

1. A Graph ADT
1.1. Vertex
1.2. Edge
1.3. DiGraph
1.4. Digraph Iterators
1.5. Graph
2. Traversing a Graph
2.1. Spanning Trees
2.2. Spanning Trees (cont.)
2.3. Spanning Trees (cont.)
2.4. Depth-First Traversals - Trees
2.5. Depth-First Traversals - Trees (cont.)
2.6. Depth-First Traversals - Graphs
2.7. Using Sets to Cope with Cycles
2.8. Depth-First Traversals and Spanning
2.9. Breadth-First Traversal
2.10. Breadth-First Traversal - Trees
2.11. Breadth-First Traversal - Graphs

Your text presents a variety of graph applications and algorithms, but does not present a general-purpose graph ADT. Instead, it works directly with adjacency matrices or adjacency lists.

I think, however, that the various graph algorithms are a lot easier to write and understand if we start with a graph ADT that supports the basic style of programming that we use with the C++ std library.

In the Forum:

(no threads at this time)