- Program Correctness (65%): The programs do everything that the
lab requires. It is possible to get partial credit on this lab
by completing certain steps but not others. If you have a question
about how a program handles
a certain input, check the executables that have been provided.
Subtract 50 points if students do not use a hash table to implement
the search structure.
- Separate chaining
- Correctly calculates the tablesize (3 points)
- Assigns names to the correct buckets (8 points))
- Quadratic probing
- Correctly calculates the tablesize (3 points)
- Correctly rehashes if the initial estimate of entries is too small
or if the load factor exceeds 0.5 (5 points)
- Correctly restores the hash table to its previously form if rehash
fails to insert an existing key into the resized hash table (3 pts)
- Assigns names to the correct buckets (8 points))
- Scoreproc
- Correctly indicates whether or not a person is in the score files
(6 points)
- Correctly prints the information associated with a particular person
(6 points)
- Scoreproc_unix
- Correctly indicates whether or not a person is in the score files
(6 points)
- Correctly prints the information associated with a particular person
(6 points)
- General (for both scoreproc and scoreproc_unix)
- Correctly handles multiple score files (3 points)
- Output is correctly formatted (3 points)
- Error checking (5 points)
- Design Document (15%): A reasonable effort has been made with the
design document and it has been submitted on time. 0 points for
a late design document.
- Commenting (10%): See the commenting
information
on the course's web page for advice on how to comment your programs,
- Program Style (10%): Are the programs well-organized and do they
solve the problem in the most straightforward, efficient