Lab #6: Trees and More Get the various points in this lab checked off by a TA by the last lab of Tuesday, 29 October. It would be good, of course, to have them done the FIRST week! 0. On the class Web page, you will find a survey form soliciting course feedback. Please fill it out sometime this week. Part I: Some Progress on the Project. We suggest you strive to get this done during the week of 21 October. You can work on items #1 and #2 offline, and bring them to lab. 1. Fill in the INTERNALS document to describe your QuadTree data structures, including any additional (package-private) classes you find necessary to implement them. Describe also how these data structures will be used: that is, how insertion into the tree, finding things in the tree, etc., will work. Fill in the fields and constructors you will need to implement in the QuadTree class. Try to get this done by 22 October, so that your TA can head off obviously bad ideas. 2. Get a couple of commands written for track.java. 3. Get the easy points: Write some more test cases, and write a nice User-Manual. Part II: Tree manipulation. On page 92 of the Data Structures Into Java reader, there is a definition of eval on an expression tree. You will find a modified version in ~cs61b/hw/lab6/Expr0.java along with some supporting code. 4. There is no Makefile supplied. Provide one. 5. The definitions of toString and read are incomplete, AND THERE ARE OTHER BUGS. Fill in the missing code and fix the bugs (see the comment on the main program). Now we'll create a re-implementation of Expr0 called Expr, but this we'll do it "the object-oriented way". 6. Copy over the template ~cs61b/hw/lab6/Expr.java Modify it to do the same thing as Expr0. You will have to add new classes (either in Expr.java or in separate files). HOWEVER, do NOT add any more 'if', 'while', 'for', or 'switch' statements or any more ?: operators; just use object-oriented stuff.