This short lab introduces hash tables graphically via a java applet. We'll use the DrawHash applet to insert into a chained hash table of integers. First, we'll experiment with the program a bit. Then, we'll modify the code to display the table's load factor after every insert operation. Finally, we'll write code to search for items in the table. First, make a directory for this lab. As usual, mail me your lab work as a text file when you're done. 1) copy the files from ~lorenz/cs35-2/lab10/ into your new directory. Bring the HashTable.java file into an editor; this is the primary file you'll modify for this lab. Study and inspect it. Also, make sure you understand the definition of Node.java used for creating the lists that comprise the table's chains. 2) compile HashTable.java compile CanvasHash.java and DrawHash.java load applet.html into "hotjava". 3) play with the applet. Note that the insert button indicates the next integer placed in the table. 4) examine the hash function (in HashTable.java). Using knowledge of it, predict where insertions will go before they happen. 5) read and understand the insert/delete methods. Add code to both methods (and elsewhere) to track the number of elements in the table. 6) write the code for the getLoadFactor method. Recall, a hash table's load factor is the n/m where n is the number of elements and m is the table's size. Verify that the applet displays the correct load factor. 7) add code to insert to keep a count of the number of collisions. (A collision occurs when the hashed index already contains elements.) 8) write the code for getCollisions and verify that the applet correctly displays this number. 9) write code to complete the search method. (Unfortunately, there's no graphics component for this.) 10) send me your code as a text file.