Second Deliverable for project 2:

Due Monday 3 April 2006 by 8:00am

Phase1 description

For my script to score your work you must:

  1. put your files at the top level of your turn directory
  2. provide your own Makefile
  3. leave group read permission on.

It would be a good idea to do this with vim. Get used to the basic commands. Also remember to go out and get a $20 whiteboard and some pens, you will need them to debug your program.

There is a script just for the tests you need to pass for phase2
It is called run_part2_tests.pl

For this next phase you need to have split() working for the root class.
Make split() a virtual function of the node class. Implement split() in the root class.

Now you can work out FINAL versions of print, verbose print, and search
These functions have a specific behavior that can only be tested when you have a multilevel B*tree.

One of the challenges of this assignment is getting your "push_down()" function working correctly.
That is NOT the point of this phase.
The point of this phase is to familiarize yourself with the mechanics of splits/combines.

push_down() is the basis for Kruse's insert algorithm.
Use Kruse's push_in() function on p545 to insert values into your root node.
Make sure you understand what this does.

To get the 5% credit for this portion you must pass ALL tests t01 - t16 (order 9 tests) AND _t01 - _t16 (order 13 tests).

Remember that when you move the data values along you must move the pointers as well.