What you will be doing is writing a class, DirectedGraph, which implements the ADT BasicDirectedGraph. An interface is available for you to represent the ADT for basic graph. Two other classes, Vertex and DirectedEdge, must be written to accompany the DirectedGraph class. Again, BasicVertex and BasicDirectedEdge are ADTs and interfaces that your classes will need to implement.
The classes you write, Vertex and DirectedEdge, must implement the interfaces BasicVertex and BasicDirectedEdge, respectively.
The Vertex class needs to hold at least two pieces of data, the name of the vertex (a String) and data about the vertex. One example would be that in a flight reservation system, Tucson would be the name of the vertex, and the data would contain a bunch of information about Tucson International Airport.
The DirectedEdge class is similar. It will need to hold data as well (a flight would have information like plane type and passenger manifest), as well as a cost of traversing that edge, and two vertices, a starting vertex and an ending vertex.
Likewise, the DirectedGraph class will need to implement the BasicDirectedGraph interface.
The DirectedGraph needs to store vertices and edges (Vertexes and DirectedEdges, to be exact), among other things of your choosing. The methods a DirectedGraph uses to get those take instances of classes that implement the BasicVertex and BasicDirectedEdge class (namely, what you implemented for the last section) are self-explanatory. It needs to also be able to do a topological sort and a shortest-path algorithm (perhaps Dykstra's?).
The program should be fairly simple, I do not have enough time to code it. The interface files have been zipped and attached.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Complete ownership and distribution copyrights to all work purchased.
The program must be JDK 1.4.x compatible.