CS 3500 Assignment #6: Red-Black Tree Implementation Due: Friday, November 1, 2013 --------------------------------------------------------------------------- For this assignment, you will organize your code as follows: -- You will follow Java convention of defining every class and interface in a file that bears its name (and, of course, with the .java suffix). The exception to this convention is nested classes. -- The implementation of the ADT BTree together with all black box and white box tests for this data type all be defined in the default package. -- The repOK for BTree should be defined within the default package. -- The Comparators should be defined in the default package. -- The implementation of the red-black tree should be within the package named rbtree. -- The white box tests for the implementation of the red-black tree should be within the rbtree package. -- The repOK for the red-black tree should be defined within the rbtree package. -- The implementation of the red-black tree should prevent the client from manipulating the implementation or from finding our anything about its internal structure. Obviously, there need to be some public methods, so that the BTree class can create an instance, add elements to it, iterate over the data, and check whether it contains a given object. -- As before, your tests should either follow the JUnit style, or rely on the tester library. -- You will submit a single zip file that contains the default package and the rbtree package. ---------------------------------------------------------------------------