From Definition to Abstraction

  • Connect the mathematical definition of Graph to its ADT.

A graph G=(V,E)G = (V, E) consists of a nonempty set VV of vertices (or nodes) and a collection EE of edges (or arcs).


Open the starter code and look at the Graph.java, which defines the Graph interface:

/** * Graph ADT. * * @param <V> Vertex element type. * @param <E> Edge element type. */ public interface Graph<V, E> { // Operations not shown }

The Graph interface declaration looks a lot like the Mathematical definition of Graph, but be careful, as V and E here are not collection of vertices/edges. Instead, they are generics, placeholders for the datatype of what will be stored in a vertex or an edge.