The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Making B+- trees cache conscious in main memory
SIGMOD '00 Proceedings of the 2000 ACM SIGMOD international conference on Management of data
Introduction to algorithms
Burst tries: a fast, efficient data structure for string keys
ACM Transactions on Information Systems (TOIS)
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Heights in Generalized Tries and PATRICIA Tries
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Adaptive Algorithms for Cache-Efficient Trie Search
ALENEX '99 Selected papers from the International Workshop on Algorithm Engineering and Experimentation
An Experimental Evaluation of Hybrid Data Structures for Searching
WAE '99 Proceedings of the 3rd International Workshop on Algorithm Engineering
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Cache-conscious sorting of large sets of strings with dynamic tries
Journal of Experimental Algorithmics (JEA)
Using random sampling to build approximate tries for efficient string sorting
Journal of Experimental Algorithmics (JEA)
Cache-efficient string sorting using copying
Journal of Experimental Algorithmics (JEA)
Partial fillup and search time in LC tries
ACM Transactions on Algorithms (TALG)
A dictionary implementation based on dynamic perfect hashing
Journal of Experimental Algorithmics (JEA)
Lists revisited: Cache-conscious STL lists
Journal of Experimental Algorithmics (JEA)
Engineering burstsort: towards fast in-place string sorting
WEA'08 Proceedings of the 7th international conference on Experimental algorithms
Comparing integer data structures for 32 and 64 bit keys
WEA'08 Proceedings of the 7th international conference on Experimental algorithms
Fast and compact hash tables for integer keys
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Hi-index | 0.00 |
In this article, we experimentally compare a number of data structures operating over keys that are 32- and 64-bit integers. We examine traditional comparison-based search trees as well as data structures that take advantage of the fact that the keys are integers such as van Emde Boas trees and various trie-based data structures. We propose a variant of a burst trie that performs better in time than all the alternative data structures. In addition, even for small sets of keys, this burst trie variant occupies less space than comparison-based data structures such as red-black trees and B-trees. Burst tries have previously been shown to provide a very efficient base for implementing cache efficient string sorting algorithms. We find that with suitable engineering, they also perform excellently as a dynamic ordered data structure operating over integer keys. We provide experimental results when the data structures operate over uniform random data. We also present experimental results for other types of data, including datasets arising from Valgrind, a widely used suite of tools for the dynamic binary instrumentation of programs.