1. General 1. Problem You are required to implement 2-3 and 2-3-4 trees and measure the relative performance of the two implementations. Refer to section 10.3 of the text book and lecture 22 for 2-3 trees and section 10.4 and lecture 23 for 2-3-4 trees. - There are two approaches for the implementation of 2-3-4 trees, Top-down and Bottom-up. You are required to implement 2-3-4 trees using the Bottom-up approach. 2. Programming Environment You can implement this project in C++, Java, or C. If you are using object-oriented languages, your program must be compilable by the compilers I am using (g++ on UNIX system under the Sparc Workstation, Visual C++ on PC). For example, if you are using C++, you may use a template class if you want to, provided that you put ALL function declarations and definitions into the header file. Otherwise the compiler (g++) I am using cannot compile correctly. Please email me a note if you want to use any other language, or system. - The name of your executable program should be hw02. 2. Input Requirements 1. Running modes: The name of your compiled program should be hw02. Your program must support all of the following modes. (1) random mode: run with inputs generated by random number generator. $ hw02 -r (2) user input mode: run with the input from a user. $ hw02 -i < file-name // read redirected input from a file file-name While in the random mode, there is NO input from user. In the user input mode, your program has to support redirected input from a file "file-name" which contains integer numbers as keys. 2. Input format in the user input mode: In the user input mode, your program must conform the following input format and display the results of both trees. N,M N elements // N elements for tree initialization M operations // M operations Please note that N specifies the number of elements for tree initialization not the total number of elements. For example, user input mode can be run as follows: $ hw02 -i < data The file "data" contains the following information: 3,6 // three input elements and six operations 12 // key #1 13 // key #2 23 // key #3 s 13 // search 13 d 23 // delete 23 i 4 // insert 4 d 12 // delete 12 i 9 d 4 The first integer "3" means th
Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.