The following is a checklist which provides a summary of the assignment. This is meant only as a supplement; please read the original assignment description.
[April 29] For a full range of methods dealing with random number generation, you may want to use the class java.util.Random which has documentation at http://java.sun.com/docs/books/jls/html/javautil.doc9.html#7616
[April 28] It has been settled: the two-way search as described in the assignment does not necessarily return the true shortest path. There is an easy way to fix the algorithm, however it is too close to the deadline for us to change the assignment requirements. Instead, we will offer one extra credit point for implementing the correct algorithm. As always, if you do the extra credit, please mention this in your readme file.
[April 27] What do we mean by "number of nodes examined"? It is not very clear cut. Let's suggest the following standard: Report the number of nodes which have been added to the tree(s). (if you have already written your code to count some other meaningful interpretation, go right ahead. Just put a big note in the readme to explain what it is that you are reporting.)
[April 27] If you want a much more interesting set of test graphs for the various heuristics in this assignment, try using this modified Graph constructor based on the new class Fence.java.
[April 27] If you want to get rid of the "deprecated" warnings during compilation, replace all occurrences of getClipRect with GetClipBounds in the files Graph.java and demo.java. (webster defined "deprecate" as "belittle" or "disparage", and we won't stand to be disparaged)
[April 27] A hint on Step 3: for the preprocessing step, you should be thinking about a new graph with M^2 nodes.
[April 25, corrected April 27] For those students using Program 9.12
of the text, please note that there was a bug in the early
printings which has only been fixed in the fourth printing. The
last line of the exch routine should read
t=pq[qp[i]];pq[qp[i]]=pq[qp[j]]; pq[qp[j]]=t;
Here we give an overview of the three steps. (specific requirements of your submissions will be in the following section)