This question looks at the behavior of the hash()
method in the hash symbol table classes LinearProbingHashST
and SeparateChainingHashST
. You are given the following list of twelve strings:
- Erdos
- eRdos
- erDos
- erdOs
- erdoS
- erdos
- Knuth
- kNuth
- knUth
- knuTh
- knutH
- knuth
Note carefully which letters are upper case and which are not.
- Applying the hash method in either of the classes named above (it’s the same method in both) and which we often discussed in class, write two lists. The first contains each string and its hash value when the table size is 29 and the second contains each string and its hash value when the table size is 30.
- Assuming the strings are inserted into a linear probing hash table in the order given, what is the index where each ends up in each table? Again write two lists. The first contains each string and the index where it ends up in the table of length 29. The second contains each string and the index where it ends up in the table of length 30. Please list the strings in increasing order by index, not in alphabetical order by string.
As an example of what the lists should look like, here are the lists for a table of size 31.