Skip to main content
Log in

Improved Bounds for Finger Search on a RAM

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

We present a new finger search tree with O(loglogd) expected search time in the Random Access Machine (RAM) model of computation for a large class of input distributions. The parameter d represents the number of elements (distance) between the search element and an element pointed to by a finger, in a finger search tree that stores n elements. Our data structure improves upon a previous result by Andersson and Mattsson that exhibits expected O(loglogn) search time by incorporating the distance d into the search time complexity, and thus removing the dependence on n. We are also able to show that the search time is O(loglogd+ϕ(n)) with high probability, where ϕ(n) is any slowly growing function of n. For the need of the analysis we model the updates by a “balls and bins” combinatorial game that is interesting in its own right as it involves insertions and deletions of balls according to an unknown distribution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. A density μ is regular if there are constants b 1,b 2,b 3,b 4 such that μ(x)=0 for x<b 1 or x>b 2, and μ(x)≥b 3>0 and |μ′(x)|≤b 4 for b 1xb 2.

  2. Throughout the paper, we say that an event E occurs with high probability if Pr[E]=1−o(1).

  3. Whenever H(n) refers to height, R(n) refers to out-degree, and I(n) refers to number of equal parts, we mean ⌈H(n)⌉, ⌈R(n)⌉, and ⌈I(n)⌉, respectively.

  4. Actually, \(\frac{P_{T}(n_{1})}{r_{1} n_{1}} + WI_{T}(n_{1}(1+r_{1}))\) work per insertion, and \(\frac{P_{T}(n_{1})}{r_{1} n_{1}} + WD_{T}(n_{1}(1+r_{1}))\) work per deletion [27]. As it is also shown in [27] and adopted in our case, any \(r_{1} <\frac {1}{3}\) suffices for the global rebuilding technique.

References

  1. Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)

    MATH  Google Scholar 

  2. Andersson, A., Mattsson, C.: Dynamic interpolation search in o(loglogn) time. In: Proc. 20th Coll. on Automata, Languages and Programming—ICALP’93, Lecture Notes Comput. Sci., vol. 700, pp. 15–27. Springer, Berlin (1993)

    Chapter  Google Scholar 

  3. Anderson, A., Thorup, M.: Tight(er) worst-case bounds on dynamic searching and priority queues. In: Proc. 32nd ACM Symposium on Theory of Computing—STOC 2001, pp. 335–342. ACM, New York (2000). See also http://arxiv.org/abs/cs.DS/0210006

    Google Scholar 

  4. Anderson, A., Thorup, M.: Dynamic ordered sets with exponential search trees. J. ACM 54(3), 1–40 (2007). Article 13

    Article  MathSciNet  Google Scholar 

  5. Atallah, M.J., Goodrich, M., Ramaiyer, K.: Biased finger trees and three-dimensional layers of maxima. In: Proc. 10th ACM Symposium on Computational Geometry, pp. 150–159 (1994)

    Chapter  Google Scholar 

  6. Beame, P., Fich, F.: Optimal bounds for the predecessor problem and related problems. J. Comput. Syst. Sci. 65(1), 38–72 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  7. Brodal, G.S., Lagogiannis, G., Makris, C., Tsakalidis, A., Tsichlas, K.: Optimal finger search trees in the pointer machine. J. Comput. Syst. Sci. 67, 381–418 (2003). Preliminary version in Proc. 34th ACM Symposium on Theory of Computing—STOC 2002, pp. 583–592 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  8. Cole, R., Frieze, A., Maggs, B., Mitzenmacher, M., Richa, A., Sitaraman, R., Upfal, E.: On balls and bins with deletions. In: Randomization and Approximation Techniques in Computer Science—RANDOM’98. Lecture Notes Comput. Sci., vol. 1518, pp. 145–158. Springer, Berlin (1998)

    Chapter  Google Scholar 

  9. Cook, S.A., Reckhow, R.A.: Time bounded random access machines. J. Comput. Syst. Sci. 7, 354–375 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  10. Corless, R.M., Gonnet, G.H., Hare, D.E.G., Jeffrey, D.J., Knuth, D.E.: On the Lambert W function. Adv. Comput. Math. 5, 329–359 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  11. Dietz, P., Raman, R.: A constant update time finger search tree. Inf. Process. Lett. 52, 147–154 (1994)

    Article  MATH  Google Scholar 

  12. Frederickson, G.: Implicit data structures for the dictionary problem. J. ACM 30(1), 80–94 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  13. Fredman, M.L., Willard, D.E.: Surpassing the information theoretic bound with fusion trees. J. Comput. Syst. Sci. 47, 424–436 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  14. Gonnet, G.: Interpolation and interpolation-hash searching. PhD Thesis, University of Waterloo, Waterloo (1977)

  15. Gonnet, G., Rogers, L., George, J.: An algorithmic and complexity analysis of interpolation search. Acta Inform. 13(1), 39–52 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  16. Guibas, L., Hershberger, J., Leven, D., Sharir, M., Tarjan, R.E.: Linear time algorithms for visibility and shortest path problems inside simple polygons. Algorithmica 2, 209–233 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  17. Guibas, L., McCreight, E., Plass, M., Roberts, J.: A new representation for linear lists. In: Proc. 9th Annual ACM Symposium on Theory of Computing—STOC’77, pp. 49–60 (1977)

    Google Scholar 

  18. Hagerup, T.: Sorting and searching on the word RAM. In: Theoretical Aspects of Computer Science—STACS’98. Lecture Notes Comput. Sci., vol. 1373, pp. 366–398. Springer, Berlin (1998)

    Google Scholar 

  19. Hershberger, J.: Finding the visibility graph of a simple polygon in time proportional to its size. In: Proc. 3rd ACM Symposium on Computational Geometry, pp. 11–20 (1987)

    Google Scholar 

  20. Hoffman, K., Mehlhorn, K., Rosenstiehl, P., Tarjan, R.E.: Sorting Jordan sequences in linear time using level-linked search trees. Inf. Control 68(1–3), 170–184 (1986)

    Article  Google Scholar 

  21. Itai, A., Konheim, A., Rodeh, M.: A sparse table implementation of priority queues. In: Proc. ICALP’81, Lecture Notes Comput. Sci., vol. 115, pp. 417–431. Springer, Berlin (1981)

    Google Scholar 

  22. Kaporis, A., Makris, C., Sioutas, S., Tsakalidis, A., Tsichlas, K., Zaroliagis, C.: Improved bounds for finger search on a RAM. In: Algorithms—ESA 2003. Lecture Notes Comput. Sci., vol. 2832, pp. 325–336. Springer, Berlin (2003)

    Chapter  Google Scholar 

  23. Knuth, D.E.: Deletions that preserve randomness. IEEE Trans. Softw. Eng. 3, 351–359 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  24. Knuth, D.E.: The Art of Computer Programming: Sorting and Searching. Addison-Wesley, Reading (1997)

    MATH  Google Scholar 

  25. Mehlhorn, K., Tsakalidis, A.: Data structures. In Handbook of Theoretical Computer Science—Vol. I: Algorithms and Complexity, pp. 303–341. MIT Press, Cambridge (1990). Chap. 6

    Google Scholar 

  26. Mehlhorn, K., Tsakalidis, A.: Dynamic interpolation search. J. ACM 40(3), 621–634 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  27. Overmars, M., Leeuwen, J.: Worst case optimal insertion and deletion methods for decomposable searching problems. Inf. Process. Lett. 12(4), 168–173 (1981)

    Article  MATH  Google Scholar 

  28. Pearl, Y., Itai, A., Avni, H.: Interpolation search—a loglogN search. Commun. ACM 21(7), 550–554 (1978)

    Article  Google Scholar 

  29. Perl, Y., Reingold, E.M.: Understanding the complexity of the interpolation search. Inf. Process. Lett. 6(6), 219–222 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  30. Peterson, W.W.: Addressing for random storage. IBM J. Res. Dev. 1(4), 130–146 (1957)

    Article  Google Scholar 

  31. Preparata, F., Shamos, M.: Computational Geometry. Springer, Berlin (1985)

    Book  Google Scholar 

  32. Schönhage, Arnold: On the power of random access machines. In Proc. 6th Int. Colloq. on Automata, Languages and Programmng—ICALP’79. Lecture Notes Comput. Sci., vol. 71, pp. 520–529. Springer, Berlin (1979)

    Chapter  Google Scholar 

  33. Seidel, R., Aragon, C.R.: Randomized search trees. Algorithmica 16, 464–497 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  34. Supowit, K.J., Reingold, E.M.: Divide and conquer heuristics for minimum weighted Euclidean matching. SIAM J. Comput. 12(1), 118–143 (1983)

    Article  MathSciNet  MATH  Google Scholar 

  35. Tarjan, R.E.: Efficiency of a good but not linear set-union algorithm. J. ACM 22, 215–225 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  36. Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  37. Tarjan, R.E.: Data Structures and Network Algorithms. SIAM, Philadelphia (1983)

    Book  Google Scholar 

  38. Thorup, M.: On RAM priority queues. SIAM J. Comput. 30(1), 86–109 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  39. Willard, D.E.: Searching unindexed and nonuniformly generated files in loglogN time. SIAM J. Comput. 14(4), 1013–1029 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  40. Willard, D.E.: Applications of the fusion tree method to computational geometry and searching. In: Proc. 3rd ACM-SIAM Symposium on Discrete Algorithms—SODA’92, pp. 286–295 (1992)

    Google Scholar 

  41. Willard, D.E.: Examining computational geometry, van Emde Boas trees, and hashing from the perspective of the fusion tree. SIAM J. Comput. 29(3), 1030–1049 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  42. Yao, A.C., Yao, F.F.: The complexity of searching an ordered random table. In: Proc. 17th IEEE Symp. on Foundations of Computer Science—FOCS’76, pp. 173–177 (1976)

    Google Scholar 

Download references

Acknowledgements

We are indebted to the anonymous referees for their valuable comments that improved considerably the presentation of the paper, as well as for their constant insistence and patience which helped us to resolve several subtle points and thus improving the quality of the paper. We would also like to thank the editor for his persistence in clarifying various involved issues and for his guidance during the whole revision process.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kostas Tsichlas.

Additional information

This work was partially supported by the Future and Emerging Technologies Unit of EC (IST priority—6th FP), under contracts no. IST-2002-001907 (integrated project DELIS) and no. FP6-021235-2 (project ARRIVAL), and by the Carathéodory project of the University of Patras.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kaporis, A., Makris, C., Sioutas, S. et al. Improved Bounds for Finger Search on a RAM. Algorithmica 66, 249–286 (2013). https://doi.org/10.1007/s00453-012-9636-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-012-9636-4

Keywords

Navigation