Note: This is an individual assignment: everything you submit should be your
own work.
Introduction
The goal of this assignment is to program some graph implementations.
Download the file Assignment2-Source.zip from Moodle. The contents of
this file includes the following important classes and interfaces:
• All the interfaces you require for making a Graph. In particular, the
IGraph interface includes comments describing all of the methods that
a graph implementation should contain (these are in the graph.core
package).
• An implementation of a Linked List, which you will need within your
implementation (this is in the graph.util package and is named
DLinkedList).
• An example of a Graph implementation: EdgeListGraph. You should
study this file carefully, as the other implementations have some similar
characteristics (this is in the graph.impl package).
• A program called EdgeListTest that shows some examples of code
that can test some of the methods in the graph implementation (this is
in the default package).
You are required to:
1. Implement an Adjacency List graph (in a file called
AdjacencyListGraph)
2. Implement an Adjacency Matrix graph (in a file called
AdjacencyMatrixGraph).
In each case, you should also create a new testing class similar to
EdgeListTest to check that your implementation is correct. Note: The
program I have provided does not test all of the methods in the graph
implementation. You should add some more tests to check other methods
(e.g. removing the vertex HNL should mean that the number of incident edges
on LAX to decrease by one).
Submission
This is an individual assignment. Therefore all work submitted must
be your own. Refer to the UCD Plagiarism Policy for more
(http://www.ucd.ie/t4cms/RevisedPlagiarismProtocol.pdf).
• All code should be well-formatted and well-commented to describe
what it is trying to do.
• Submit a single zip file to Moodle, with the following contents:
o The ‘src’ folder containing your solution for the “Implementation”,
and “Testing” sections (it should contain the AdjacencyListGraph,
AdjacencyMatrixGraph, AdjacencyListTest and AdjacencyMatrixTest
classes).