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.
Similar content being viewed by others
Notes
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 1≤x≤b 2.
Throughout the paper, we say that an event E occurs with high probability if Pr[E]=1−o(1).
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.
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
Aho, A.V., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading (1974)
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)
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
Anderson, A., Thorup, M.: Dynamic ordered sets with exponential search trees. J. ACM 54(3), 1–40 (2007). Article 13
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)
Beame, P., Fich, F.: Optimal bounds for the predecessor problem and related problems. J. Comput. Syst. Sci. 65(1), 38–72 (2002)
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)
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)
Cook, S.A., Reckhow, R.A.: Time bounded random access machines. J. Comput. Syst. Sci. 7, 354–375 (1973)
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)
Dietz, P., Raman, R.: A constant update time finger search tree. Inf. Process. Lett. 52, 147–154 (1994)
Frederickson, G.: Implicit data structures for the dictionary problem. J. ACM 30(1), 80–94 (1983)
Fredman, M.L., Willard, D.E.: Surpassing the information theoretic bound with fusion trees. J. Comput. Syst. Sci. 47, 424–436 (1993)
Gonnet, G.: Interpolation and interpolation-hash searching. PhD Thesis, University of Waterloo, Waterloo (1977)
Gonnet, G., Rogers, L., George, J.: An algorithmic and complexity analysis of interpolation search. Acta Inform. 13(1), 39–52 (1980)
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)
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)
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)
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)
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)
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)
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)
Knuth, D.E.: Deletions that preserve randomness. IEEE Trans. Softw. Eng. 3, 351–359 (1977)
Knuth, D.E.: The Art of Computer Programming: Sorting and Searching. Addison-Wesley, Reading (1997)
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
Mehlhorn, K., Tsakalidis, A.: Dynamic interpolation search. J. ACM 40(3), 621–634 (1993)
Overmars, M., Leeuwen, J.: Worst case optimal insertion and deletion methods for decomposable searching problems. Inf. Process. Lett. 12(4), 168–173 (1981)
Pearl, Y., Itai, A., Avni, H.: Interpolation search—a loglogN search. Commun. ACM 21(7), 550–554 (1978)
Perl, Y., Reingold, E.M.: Understanding the complexity of the interpolation search. Inf. Process. Lett. 6(6), 219–222 (1977)
Peterson, W.W.: Addressing for random storage. IBM J. Res. Dev. 1(4), 130–146 (1957)
Preparata, F., Shamos, M.: Computational Geometry. Springer, Berlin (1985)
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)
Seidel, R., Aragon, C.R.: Randomized search trees. Algorithmica 16, 464–497 (1996)
Supowit, K.J., Reingold, E.M.: Divide and conquer heuristics for minimum weighted Euclidean matching. SIAM J. Comput. 12(1), 118–143 (1983)
Tarjan, R.E.: Efficiency of a good but not linear set-union algorithm. J. ACM 22, 215–225 (1975)
Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)
Tarjan, R.E.: Data Structures and Network Algorithms. SIAM, Philadelphia (1983)
Thorup, M.: On RAM priority queues. SIAM J. Comput. 30(1), 86–109 (2000)
Willard, D.E.: Searching unindexed and nonuniformly generated files in loglogN time. SIAM J. Comput. 14(4), 1013–1029 (1985)
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)
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)
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)
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
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-012-9636-4