In keeping with the design framework used throughout this text,
we view graphs as specialized containers.
Formally, the graph is an ordered pair
comprised of two sets--a set of vertices and a set of edges.
Informally, we can view a graph as a container with two compartments,
one which holds vertices and one which holds edges.
There are four kinds of objects--vertices, edges, undirected graphs, and directed graphs.
Accordingly, we define four interfaces:
Vertex, Edge, Graph, and Digraph.
(See Figure
).
Figure: Object class hierarchy