Given input {4371, 1323, 6173, 4199, 4344, 9679, 1989} and a hash function h(x) = x mod 10, show the resulting: a. Separate chaining hash table. b. Hash table using linear probing. c. Hash table using quadratic probing. d. Hash table with second hash function h2(x) = 7 (x mod 7).
Read moreTextbook Solutions for Data Structures and Algorithm Analysis in Java
Question
In the quadratic probing hash table, suppose that instead of inserting a new iteminto the location suggested by findPos, we insert it into the first inactive cell on thesearch path (thus, it is possible to reclaim a cell that is marked deleted, potentiallysaving space).a. Rewrite the insertion algorithm to use this observation. Do this by having findPosmaintain, with an additional variable, the location of the first inactive cell itencounters.b. Explain the circumstances under which the revised algorithm is faster than theoriginal algorithm. Can it be slower?
Solution
The first step in solving 5 problem number 7 trying to solve the problem we have to refer to the textbook question: In the quadratic probing hash table, suppose that instead of inserting a new iteminto the location suggested by findPos, we insert it into the first inactive cell on thesearch path (thus, it is possible to reclaim a cell that is marked deleted, potentiallysaving space).a. Rewrite the insertion algorithm to use this observation. Do this by having findPosmaintain, with an additional variable, the location of the first inactive cell itencounters.b. Explain the circumstances under which the revised algorithm is faster than theoriginal algorithm. Can it be slower?
From the textbook chapter Hashing you will find a few key concepts needed to solve this.
Visible to paid subscribers only
Step 3 of 7)Visible to paid subscribers only
full solution