The Power and Limitations of Static Binary Search Trees with Lazy Finger
- 136 Downloads
Abstract
A static binary search tree where every search starts from where the previous one ends (lazy finger) is considered. Such a search method is more powerful than that of the classic optimal static trees, where every search starts from the root (root finger), and less powerful than when rotations are allowed—where finding the best rotation based tree is the topic of the dynamic optimality conjecture of Sleator and Tarjan. The runtime of the classic root-finger tree can be expressed in terms of the entropy of the distribution of the searches, but we show that this is not the case for the optimal lazy finger tree. A non-entropy based asymptotically-tight expression for the runtime of the optimal lazy finger trees is derived, and a dynamic programming-based method is presented to compute the optimal tree.
Keywords
Conditional Entropy Binary Search Tree Previous Search Average Search Dynamic Programming SolutionReferences
- 1.Adelson-Velskij, G.M., Landis, E.M.: An algorithm for the organization of information. Doklady Akademii Nauk USSR 146(2), 263–266 (1962)Google Scholar
- 2.Alon, N., Spencer, J.: The Probabilistic Method. Wiley, London (1992)MATHGoogle Scholar
- 3.Aragon, C.R., Seidel, R.: Randomized search trees. In: FOCS, pp. 540–545. IEEE Computer Society (1989)Google Scholar
- 4.Bender, M.A., Duan, Z., Iacono, J., Jing, W.: A locality-preserving cache-oblivious dynamic dictionary. J. Algorithms 53(2), 115–136 (2004)MathSciNetCrossRefMATHGoogle Scholar
- 5.Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: A practical concurrent binary search tree. In: Govindarajan, R., Padua, D.A., Hall, M.W. (eds.) PPOPP, pp. 257–268. ACM (2010)Google Scholar
- 6.Clark, D.R., Munro, J.I.: Efficient suffix trees on secondary storage (extended abstract). In: Tardos, E. (ed.) SODA, pp. 383–391. ACM/SIAM (1996)Google Scholar
- 7.Cole, R.: On the dynamic finger conjecture for splay trees. part ii: the proof. SIAM J. Comput. 30(1), 44–85 (2000)MathSciNetCrossRefMATHGoogle Scholar
- 8.Cole, R., Mishra, B., Schmidt, J.P., Siegel, A.: On the dynamic finger conjecture for splay trees. part i: splay sorting log n-block sequences. SIAM J. Comput. 30(1), 1–43 (2000)MathSciNetCrossRefMATHGoogle Scholar
- 9.Demaine, E.D., Iacono, J., Langerman, S.: Worst-case optimal tree layout in a memory hierarchy. CoRR, cs.DS/0410048 (2004)Google Scholar
- 10.Demaine, E.D., Iacono, J., Langerman, S., Özkan, O.: Combining binary search trees. In: Proceedings of the 40th International Colloquium on Automata, Languages and Programming (ICALP 2013), Riga, Latvia, 8–12 July 2013, pp. 388–399 (2013)Google Scholar
- 11.Fredman, M.L.: Two applications of a probabilistic search technique: sorting x + y and building balanced search trees. In: Rounds, W.C., Martin, N., Carlyle, J.W., Harrison, M.A. (eds.) STOC, pp. 240–244. ACM (1975)Google Scholar
- 12.Gil, J., Itai, A.: How to pack trees. J. Algorithms 32(2), 108–132 (1999)MathSciNetCrossRefMATHGoogle Scholar
- 13.Guibas, L.J., Sedgewick, R.: A dichromatic framework for balanced trees. In: FOCS, pp. 8–21. IEEE Computer Society (1978)Google Scholar
- 14.Iacono, J., Mulzer, W.: A static optimality transformation with applications to planar point location. Int. J. Comput. Geom. Appl. 22(4), 327–340 (2012)MathSciNetCrossRefGoogle Scholar
- 15.Knuth, D.E.: Optimum binary search trees. Acta Inf. 1, 14–25 (1971)CrossRefMATHGoogle Scholar
- 16.Mehlhorn, K.: Nearly optimal binary search trees. Acta Inf. 5, 287–295 (1975)MathSciNetCrossRefMATHGoogle Scholar
- 17.Seidel, R., Aragon, C.R.: Randomized search trees. Algorithmica 16(4/5), 464–497 (1996)MathSciNetCrossRefMATHGoogle Scholar
- 18.Sleator, D.D., Tarjan, R.E.: Self-adjusting binary search trees. J. ACM 32(3), 652–686 (1985)MathSciNetCrossRefMATHGoogle Scholar
- 19.Peter van Emde Boas: Preserving order in a forest in less than logarithmic time and linear space. Inf. Process. Lett. 6(3), 80–82 (1977)CrossRefMATHGoogle Scholar
- 20.Wilber, R.E.: Lower bounds for accessing binary search trees with rotations. SIAM J. Comput. 18(1), 56–67 (1989)MathSciNetCrossRefMATHGoogle Scholar