CSCE 221-(507-509)
Programing Assignment 2
Overview MySTL Testing Todos
 All Classes Namespaces Files Functions Variables Typedefs Friends Groups Pages
Overview

Overview

Assignment 2 focuses on implementation of the Map ADT using a binary tree implementation. Different from the class however, you will be implementing a map extremely similar to the c++ stl map. As such, remember to look here if you are confused on how certain operations are performed before posting a question to piazza.

Essentially, this assignment mainly focuses on implementation, but you must turn in a report as well. The report focuses on analyzing Big-Oh and performance of MySTL::map.

If you have questions, or if something is unclear, please post on piazza.

Assignment

In this assignment, you need to implement all items which can be found under todos, which is essentially all variants of find operations, insert operations, erase operations, and finishing the implementation for the node classes constructor and destructor. You should also think about a good order to implement them in. I recommend:

After completing, feel free to remove each doxygen todo statement from the code, this way you can keep track!

Unit testing is provided to aid you in determining if your implementation is correct, however, note the tests are not exhaustive! If all tests are reported to pass, this is only part of the process. If you are not convinced your code is correct, please add more tests.

Report

Your report will include the objective of the assignment, a brief description of your implementation and experiments, and discussion of your results. At a minimum, your report should include the following sections:

Bonus

Implement a self balancing mechanism for your Map ADT, e.g., AVL trees. Augment your experiments and theoretical analysis to show how AVL performs equally on the data sets in the regular assignment.

Code Components