Abstract
A common paradigm in data structures is to combine two different kinds of data structures into one, yielding a hybrid data structure with improved resource bounds. We perform an experimental evaluation of hybrid data structures in the context of maintaining a dynamic ordered set whose items have integer or floating-point keys. Among other things we demonstrate clear speedups over library implementations of search trees, both for predecessor queries and updates. Our implementations use very little extra memory compared to search trees, and are also quite generic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
A. Acharya, H. Zhu and K. Shen. Adaptive algorithms for cache-efficient trie search. Presented at ALENEX’ 99.
J.-I. Aoe and K. Morimoto. An efficient implementation of trie structures. Software Practice and Experience, 22 (1992), pp 695–721.
A. Brodnik, S. Carlsson, M. Degermark and S. Pink. Small Forwarding tables for fast routing lookups. In Proc. ACM SIGCOMM Conference: Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM-97), pp. 3–14, ACM Press, 1997.
M. R. Brown and R. E. Tarjan. Design and analysis of a data structure for representing sorted lists. SIAM Journal on Computing, 9 (1980), pp. 594–614.
T. H. Cormen, C. E. Leiserson and R. Rivest. Introduction to Algorithms. MIT Press, 1990.
J. J. Darragh, J. G. Cleary and I. H. Witten. Bonsai: A compact representation of trees. Software Practice and Experience, 23 (1993), pp 277–291.
P. F. Dietz. Maintaining order in a linked list. In Proc. 14th ACM STOC, pages 122–127, May 1982.
P. F. Dietz and D. D. Sleator. Two algorithms for maintaining order in a list. In Proc. 19th ACM STOC, pages 365–372, 1987.
M. L. Fredman and D. E. Willard. Surpassing the information theoretic bound with fusion trees. J. Comput. System Sci., 47 (1993), pp. 424–436.
T. Hagerup. Sorting and Searching on the Word RAM. In STACS: Annual Symposium on Theoretical Aspects of Computer Science, LNCS 1373, 1998.
J. L Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 2nd ed. Morgan Kaufmann, 1996.
S. Huddleston and K. Mehlhorn. A new data structure for representing sorted lists. Acta Informatica, 17 (1982), pp. 157–184.
D. E. Knuth. The Art of Computer Programming. Volume 3: Sorting and Searching, 3rd ed. Addison-Wesley, 1997.
C. Levcopolous and M. H. Overmars. A balanced search tree with O(1) worst-case update time. Acta Informatica, 26:269–278, 1988.
David B. Lomet. A simple bounded disorder file organisation with good performance. ACM Trans. Database Systems13 (1988), pp. 525–551.
U. Manber and S. Wu. GLIMPSE: a tool to search through entire file systems. In Proc Usenix Winter 1994 Technical Conference, San Francisco, 1994, pp. 23–32.
K. Mehlhorn and St. Näher. LEDA. Cambridge University Press, 1998.
S. Nilsson and M. Tikkanen. Implementing a dynamic compressed trie. In 2nd Workshop on Algorithm Engineering, WAE’ 98—Proceedings, K. Mehlhorn, Ed., Max Planck Institute Research Report MPI-I-98-1-019, 1998, pp. 25–36.
M. H. Overmars. The design of dynamic data structures, volume 156 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 1983.
S. Sahni. Data Structures, Algorithms and Applications in C++. McGraw-Hill, 1998.
B. Stroustrup. The C++ programming language, 3rd Ed. Addison-Wesley, 1997.
A. K. Tsakalidis. Maintaining order in a generalized linked list. Acta Informatica, 21(1):101–112, 1984.
P. van Emde Boas. Preserving order in a forest in less than logarithmic time and linear space. Information Processing Letters, 6(3):80–82, 1977.
D. E. Willard New trie data structures which support very fast search operations Journal of Computer and System Sciences, 28(3), pp. 379–394, 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Korda, M., Raman, R. (1999). An Experimental Evaluation of Hybrid Data Structures for Searching. In: Vitter, J.S., Zaroliagis, C.D. (eds) Algorithm Engineering. WAE 1999. Lecture Notes in Computer Science, vol 1668. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48318-7_18
Download citation
DOI: https://doi.org/10.1007/3-540-48318-7_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66427-7
Online ISBN: 978-3-540-48318-2
eBook Packages: Springer Book Archive