GraphAdjList and GraphAdjMatrix now
have 3 generic parameters,
K for key type to access vertices and edges, E1,
that stores vertex specific information and E2, to
support edge specific information. Accessort methods to set/get
vertex and edge data are provided.
In the C++ version, E1 defaults K and E2 defaults to E1, thus, simple
graphs (that dont care about vertex or edge attributes) can be declared
with a single parameter for the key.
Since Java does not support defaults for generic parameters, two classes
GraphAdjListSimple, GraphAdjMatrixSimple are provided
that provide the same functionality. These extend the graph classes
with default values for the edge and vertex information types(currently
set to String).