NO NONSENSE CRYSTAL CLEAR TURNIN INFO FOR HW4 WHAT YOU WILL DO: ----------------- With this assignment, you must turn in your source both electronically (the turnin program) and with hardcopies by the Dec 3 deadline. All printouts must be brought to class on that day. You should format your experimental data in a table. Use the hash coding measurement handout discussed in class as a guide to formatting your data. Again, everything must be both on line and in printout form. We will provide you with a simple makefile to build your assignment. Your project must compile using this makefile. You are responsible to provide makefiles in your individual subdirectories. (The programs in these subdirectories must compile independent of the other programs) You are to have 4 subdirectories with the following names and files: "linear" This subdirectory includes all .h and .c files needed only to implement the linear probing (anything that is to be reused by other hash methods should be stored in "util"). This will also contain the makefile for these files. The target name for the makefile should be "Linear". The driver for this type will be hw4-linear.C It should be a main program that is very TA friendly. In other words, it should guide us through the creation and searching of the linear probing hash table. Messages should appear as to what is happening. Ex. "inserting first 2000 entries"...conducting successful search...conducting unsuccessful search etc. Label your output well. "double" This subdirectory includes all.h and .c files needed only to implement the double hashing. It should include driver "hw4-double.C" and the appropriate makefile with target "Double". As above, make your main very TA friendly and label all output. "bucket" This subdirectory includes all .h and .c files needed only to implement the buckets with secondary hash tables. It should include driver "hw4-bucket.C" and the appropriate makefile with target "Bucket". As above, make your main very TA friendly and label all output. "util" This subdirectory includes all .h and .c files that are shared among 2 or more of the implementations. For ex. it will include the random number generator and class definitions and declarations that are shared. It will have a makefile as well, with target "Util". Please note that the makefiles in the other subdirectories will refer to files in this util directory. DOCUMENTATION ------------- You are not required to have user or logic manuals. Make sure that all programs are well documented and that all reports and output are well labeled. Your report should be well organized, giving the timings and average number of probes required to perform the insert and search (successful and unsuccessful). Include a one page written explanation of the data, how it was collected, and how it fits or doesn't fit with the theoretical prediction of the performance of these data structures (as given in class). Please include a README file giving your names and any messages WHAT WE WILL DO: ---------------- When we grade your program, we will type "make" to run the makefile found in your main directory. It should execute all of the makefiles in your subdirectories. We will run each program in turn to see if it does what we requested in the order we requested. We will scan your output and check it against your reports. We will check your code for form and documentation. We will then look at your reports for correct data, readablility, and complete and correct analysis. **Hint You will have a better chance of getting a good grade if all code and output is easy to understand. It is your job to convince us that your program does what it was intended to do. We WILL NOT build makefiles, correct errors, search through your code to find what you are doing at a particular time etc. We WILL give you a fair and timely evaluation with no surprises.