...
I just don't understand how to construct the graph. So far, I have a Graph class, a Vertex class, and an Edge class. If my vertex class is simply a name and an array of incident edges, then what is my Edge class?
...
An Edge class isn't necessary. Just use a
java.util.List in your Vertex class that holds references to the neighbouring Vertices.
And your Graph class has a
java.util.List with Vertex objects of course.
Another approach is to use an implementation of a
java.util.Map<Key, Value>,where the key is a (unique) Vertex and the value is a
java.util.List containing the Vertex's neighbours.
Good luck.