(They have also provided you with an SVG version of the engineering design which can be enlarged in most browsers. It is named design.svg.)
LabelManager
classes. You need only implement one
class that implements the CandidateLabelManager
interface and one class that implements the PermanentLabelManager
interface. In other words, you must implement one that will work with a
LabelCorrectingAlgorithm
and one that will work with a
LabelSettingAlgorithm
.
graph
package, but you are not required to do so.
You must perform system testing on all of the components you write. Nearby has provided you with the following classes that you can use for this purpose.
The last three are used by the first two, and provide the ability to run
the shortest path calculation in a background thread (i.e., using a
SwingWorker
).
If you would prefer to debug with a simpler setup, you can use the following driver:
and change the hard-coded "options" (i.e., the algorithm, data structure, network, origin, and destination).
.zip
file named pa5.zip
that
contains all of the code necessary to
run PA5Driver.java
and test you code (packaged
appropriately). It must not contain any data files. There is
no limit on the number of submissions and no penalty for excessive
submissions.
You must submit (to the PA5_Screenshot assignment on Gradescope)
a .pdf
file that contains two screenshots for the
Rockingham County data files, one with the shortest path from "400
Paul St" to "7000 Jess & Mary Ln" using a label setting algorithm
and one from "400 Paul St" to "6500 Mount Clinton Pike" using a label
correcting algorithm.
The Gradescope autograder will assign a maximum grade of 25 (based solely on style). Points will then be awarded manually based on the criteria discussed in the previous paragraph.
Copyright 2025