Advertisement

Acta Informatica

, Volume 13, Issue 1, pp 39–52 | Cite as

An algorithmic and complexity analysis of interpolation search

  • Gaston H. Gonnet
  • Lawrence D. Rogers
  • J. Alan George
Article

Abstract

We begin with a brief survey of the literature concerning the Interpolation Search algorithm, then provide a detailed description of the algorithm and how to implement it to search a particular table or file. We next analyze the complexity of the search method by investigating the moments of the distribution of the number of table accesses needed to locate a given record. For a table containing n entries, we find that the expected value of the number of accesses is log2 log2n+O(1) and that the variance is O(log2 log2n). Lastly we provide some approximations for the expected value for the successful and unsuccessful search in such a table.

Keywords

Information System Operating System Data Structure Communication Network Information Theory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abramowitz, M., Stegun, I.A.: Handbook of Mathematical Functions. New York: Dover 1964Google Scholar
  2. 2.
    De Bruijn, N.G.: Asymptotics Methods in Analysis. Amsterdam: North Holland 1970Google Scholar
  3. 3.
    Gonnet, G.H.: Unpublished notes on Average Number of Accesses to Files. Universidad de la Republica, Montevideo, Uruguay, Aug. 1972Google Scholar
  4. 4.
    Gonnet, G.H.: Interpolation and Interpolation-Hash Searching, PhD Thesis. Waterloo: University of Waterloo 1977Google Scholar
  5. 5.
    Gonnet, G.H.: Notes on the Derivation of Asymptotic Expansions from Summations. Information Processing Letters 7, 165–169 (1978)Google Scholar
  6. 6.
    Gonnet, G.H., Rogers, L.D.: The Interpolation-Sequential Search Algorithm. Information Processing Letters 6, 136–139 (1977)Google Scholar
  7. 7.
    Knuth, D.E.: The Art of Computer Programming. Vol. 3, Sorting and Searching. Ontario: Addison-Wesley Don Mills 1973Google Scholar
  8. 8.
    Knuth, D.E.: Final Exam. & Solutions of Final Exam. Course Cs 255. Stanford University 1976Google Scholar
  9. 9.
    Kruijer, H.S.M.: The Interpolated File Search Method. Informatie 16, 612–615 (1974)Google Scholar
  10. 10.
    Peterson, W.W.: Addressing for Random-Access Storage. IBM Journal of Research and Development 1, 130–146 (1957)Google Scholar
  11. 11.
    Perl, Y., Itai, A., Avni, H.: Interpolation Search — A Log Log N Search. Comm. A.C.M. 21, 550–557 (1978)Google Scholar
  12. 12.
    Perl, Y., Reingold, E.M.: Understanding the Complexity of Interpolation Search. Information Processing Letters 6, 219–221 (1977)Google Scholar
  13. 13.
    Price, C.E.: Table Lookup Techniques. Computing Surveys 3, 56–58 (1971)Google Scholar
  14. 14.
    Yao, A.C., Yao, F.F.: The Complexity of Searching an Ordered Random Table. Proceedings of the Symposium on Fundations of Computer Science, Houston 1976, pp. 173–176Google Scholar

Copyright information

© Springer-Verlag 1980

Authors and Affiliations

  • Gaston H. Gonnet
    • 1
  • Lawrence D. Rogers
    • 2
  • J. Alan George
    • 1
  1. 1.Department of Computer ScienceUniversity of WaterlooWaterlooCanada
  2. 2.Burroughs CorporationSan DiegoUSA

Personalised recommendations