The analysis of an improved hashing technique

We discuss the problem of hashing in a full or nearly full table using open addressing. A scheme for reordering the table as new elements are added is presented. Under the assumption of having a reasonable hash function sequence, it is shown that even with a full table only about 2.13 probes will be required, on the average, to access an element. This scheme has the advantage that the expected time for adding a new element is proportional to that required to determine that an element is not in the table. Attention is then turned to the optimal reordering scheme (which is a maximum flow problem) and the minimax problem of arranging the table so as to minimize the length of the longest probe sequence to find any element. A unified algorithm is presented for both of these as well as the first method suggested. A number of simulation results are reported, the most interesting being an indication that the optimal reordering scheme will lead to an average of about 1.83 probes per search in a full table.

[1]  W. W. Peterson,et al.  Addressing for Random-Access Storage , 1957, IBM J. Res. Dev..

[2]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[3]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[4]  Richard P. Brent,et al.  Reducing the retrieval time of scatter storage techniques , 1973, Commun. ACM.

[5]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[6]  Leonidas J. Guibas The analysis of hashing algorithms that exhibit k-ary clustering , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[7]  Andrew Chi-Chih Yao,et al.  The complexity of searching an ordered random table , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[8]  Leonidas J. Guibas,et al.  The analysis of double hashing(Extended Abstract) , 1976, STOC '76.

[9]  Leonidas J. Guibas,et al.  The Analysis of Double Hashing , 1978, J. Comput. Syst. Sci..

[10]  Ronald L. Rivest Optimal Arrangement of Keys in a Hash Table , 1978, JACM.