Exercise 5 – Hashing




5/5 - (4 votes)

This exercise is to be done during your week 6 laboratory class. When you complete the exercise
show your work to your lab tutor to have your work marked. The marking is based mainly on correct
implementation and code readability. You should implement your code in one file (e.g. ex2.cpp,
ex2.c, ex2.java). Make sure your program has a header comment block containing the name of the
exercise, your name and your student login (e.g. jfk01). You may implement your solution in C, C++,
Java or Python.
For this exercise, you are to implement a simple hash table.
As usual, your program will prompt for the name of an input file and the read and process the data
contained in this file.
The file contains a sequence of integer values. Read them and construct a hash table using chaining.
For this exercise, you may use dynamic data for chains greater than one in length, but the majority
of the dictionary should be an array of hash nodes.
Read each, integer in turn and calculate its hash value using mod 100 as the hashing function.
Thus, is if the key is k, the hash value h(k) = k mod 100.
When you have finished calculate:
1. The number of empty entries in the hash table.
2. The length of the longest chain.
As usual, do not use classes or STL.
When you are finished, test your program using the provided text file named “Ex5.txt” and show
your code and the output to your lab tutor to receive your mark.