This lab covers binary search trees. It consists of more lecture than usual. We'll use the DrawTree applet to view binary search trees on strings. Using supplied code for insert, we'll first build a tree. Then using delete we'll remove nodes. Finally, we'll code search and highlight found nodes in the tree. 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/lab8/ into your new directory. Bring the BST.java file into an editor; this is the primary file you'll modify for this lab. Study and inspect it; make sure you understand the definition of TreeNode and the code in BST.main 2) Compile BST.java Compile CanvasTree.java and DrawTree.java Load applet.html into "hotjava". 3) add code to insert additional nodes into the tree. verify with DrawTree that they're inserted in the proper order. 4) change the order of the inserts so that some other node than before is inserted first (i.e. becomes the root) 5) add code to call delete to remove: a) the root b) some node without children c) some node with one child d) some node with two children 6) highlight a node or two by setting its .hilite field to true. after understanding how this works, revert to all nodes with .hilite = false 7) implement the search method presented in lecture. 8) test your search by highlighting the node (if any) returned by the search method. Search for: a) a node in the tree b) a node not in the tree 9) modify any of the BST methods (insert/delete/search/minimum/successor) to highlight the nodes they visit during an operation.