Self-adjusting binary search trees
Journal of the ACM (JACM)
Good worst-case algorithms for inserting and deleting records in dense sequential files
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
A model for hierarchical memory
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
The input/output complexity of sorting and related problems
Communications of the ACM
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
CIKM '93 Proceedings of the second international conference on Information and knowledge management
An analysis of dag-consistent distributed shared-memory algorithms
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Locality of Reference in LU Decomposition with Partial Pivoting
SIAM Journal on Matrix Analysis and Applications
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Sibling clustering of tree-based spatial indexes for efficient spatial query processing
Proceedings of the seventh international conference on Information and knowledge management
Data structures and program design in C++
Data structures and program design in C++
Locality preserving dictionaries: theory & application to clustering in databases
PODS '99 Proceedings of the eighteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Faster deterministic sorting and priority queues in linear space
Proceedings of the ninth annual ACM-SIAM symposium on Discrete algorithms
External memory algorithms and data structures
External memory algorithms
Tight(er) worst-case bounds on dynamic searching and priority queues
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Transforming loops to recursion for multi-level memory hierarchies
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
ACM Computing Surveys (CSUR)
Alternatives to splay trees with O(log n) worst-case access times
SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
A Generic Approach to Bulk Loading Multidimensional Index Structures
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
Skip Lists: A Probabilistic Alternative to Balanced Trees
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
A Sparse Table Implementation of Priority Queues
Proceedings of the 8th Colloquium on Automata, Languages and Programming
Extending the Hong-Kung Model to Memory Hierarchies
COCOON '95 Proceedings of the First Annual International Conference on Computing and Combinatorics
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Maintaining dense sequential files in a dynamic environment (Extended Abstract)
STOC '82 Proceedings of the fourteenth annual ACM symposium on Theory of computing
Faster deterministic sorting and searching in linear space
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Cache-oblivious priority queue and graph algorithm applications
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Exponential Structures for Efficient Cache-Oblivious Algorithms
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Cache Oblivious Distribution Sweeping
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
Funnel Heap - A Cache Oblivious Priority Queue
ISAAC '02 Proceedings of the 13th International Symposium on Algorithms and Computation
Efficient Tree Layout in a Multilevel Memory Hierarchy
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Scanning and Traversing: Maintaining Data for Traversals in a Memory Hierarchy
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
Cache-oblivious data structures for orthogonal range searching
Proceedings of the nineteenth annual symposium on Computational geometry
A comparison of cache aware and cache oblivious static search trees using program instrumentation
Experimental algorithmics
Proximity Mergesort: optimal in-place sorting in the cache-oblivious model
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
A locality-preserving cache-oblivious dynamic dictionary
Journal of Algorithms
Cache-oblivious planar orthogonal range searching and counting
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
Concurrent cache-oblivious b-trees
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Out-of-Core Isosurface Extraction of Time-Varying Fields over Irregular Grids
Proceedings of the 14th IEEE Visualization 2003 (VIS'03)
Simple and semi-dynamic structures for cache-oblivious planar orthogonal range searching
Proceedings of the twenty-second annual symposium on Computational geometry
An adaptive packed-memory array
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Cache-oblivious string B-trees
Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Engineering a cache-oblivious sorting algorithm
Journal of Experimental Algorithmics (JEA)
HAT-trie: a cache-conscious trie-based data structure for strings
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
Information Processing Letters
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
An adaptive packed-memory array
ACM Transactions on Database Systems (TODS)
Algorithms for memory hierarchies: advanced lectures
Algorithms for memory hierarchies: advanced lectures
Optimal cache-oblivious implicit dictionaries
ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming
Cache-oblivious polygon indecomposability testing
Proceedings of the 4th International Workshop on Parallel and Symbolic Computation
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Hi-index | 0.00 |
This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys.The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logBN) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logBN + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logBN + k/B) block operations.This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.