CS 146 (Sections 3 and 4): Data Structures and Algorithms, Spring 2008

Programming Assignment Due 4/11, 5 p.m.

Extra detail and submission directions now at bottom of page Programming assignment: Consider 2-3 trees, as discussed in class. You are to implement this data structure. You will need to allow for insertions, and also for searches as described below. You will not need deletions. Your program will receive input from System.in. Note: Your code should be written in Java 5, not Java 6. My apologies, but Apple has somehow greatly delayed Java 6, and only recently released it, but not for my OS, so I cannot compile Java 6. Also note, you are expected to follow the for the department. More details on how this will be checked can be found on the Course Greensheet, under the Programming Assignment section. Note: both the input and output format are precisely specified for the problem. If you assume a different input format, your program may or may not work correctly. If you give a different output, your solution will be rejected. Do not add extra spaces, do not make any assumptions not in the problem specification. I will be automating the testing of your programs, and the automated system will not be very forgiving. It should not take great effort for me to get your code to run.

New stuff (4/9) starts here:

  1. I will run javadoc on your program, so it should be fully documented.
  2. I will also run the style checker on your program, so follow department style guidelines.
  3. You should compile using the Java 5 option. If you use any of the new Java 6 stuff, I will not be able to compile your code. (Sorry.)
  4. Your package name should be edu.sjsu.cs.cs146.
  5. Your file should be named TwoThreeTree.java. Your class should be named TwoThreeTree, and it should have a main method which will run as requested in the assignment. All other methods are up to you, but should be documented.
  6. Do not assume any other input, or give any other output, other than what is specified above. My automated tester is not very forgiving.
  7. Email your file to me, with the following subject line, replacing the name fields: CS146Spring08: Program 3 Lastname Firstname
  8. The email should empty, other than an attached file of source code, in a single text file named TwoThreeTree.java.
  9. Due to these late submission specifications, I will extend the deadline to Sunday, 4/13.