An extrapolation on the interpolation search
Some new improvements on the Interpolation search are presented. They yield an average-case performance within an additive constant from optimal for uniformly distributed elements. The method is much less sensitive to non-uniform distributions than Interpolation search, and will have almost O(lg lgn) behavior for many distributions. Simulation results show, for example, that an element in a table of 30000 exponentially distributed elements can be found in less than 10 accesses on the average, without using any knowledge of the distribution.
There are two basic ideas that accomplish this improvement. One is to allow extrapolation over small intervals, and the other is to use the least-square method to approximate the first probe position in the table.
KeywordsProbe Position Secant Method Successful Search Information Processing Letter Table Limit
Unable to display preview. Download preview PDF.
- [Go 76]G.H. Gonnet, Interpolation and Interpolation Hash Searching, Doctoral Thesis, Waterloo, Ontario, 1976Google Scholar
- [GRG 80]G.H. Gonnet, L.D. Rogers, J.A. George, An Algorithmic and Complexity Analysis of Interpolation Search, Acta Informatica 13, 39–52, 1980Google Scholar
- [Lind 76]B.W Lindgren, Statistical Theory, Third Edition, Collier MacMillan International Editions, 1976Google Scholar
- [PeRe 77]Y. Perl and E. M. Reingold, Understanding the Complexity of Interpolation Search, Information Processing Letter, Vol.6 number 6, December 1977Google Scholar
- [Pet 57]W. W. Peterson, Addressing for Random Access Storage, IBM J.Res. Develop. 1 (1957), 131–132Google Scholar
- [SaSi 85]N. Santoro and J.B. Sidney, Interpolation-Binary Search, Information Processing Letters, Vol.20 number 4, May 1985Google Scholar
- [Wi 85]D. E. Willard, Searching Unindexed and Nonuniformly Generated Files in loglogn Time, SIAM Journal of Computation, Vol.14 Number 4, Nov.1985Google Scholar
- [YaYa 76]A.C. Yao and F.F. Yao, The Complexity of Searching an Ordered Random Table, Proceedings Seventeenth Annual Symposium, Foundations of Computer Science 1976, pp. 173–177Google Scholar