Results 1  10
of
25
Cacheoblivious Btrees
, 2000
"... Abstract. This paper presents two dynamic search trees attaining nearoptimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the blocktransfer size at each level, and the relative speeds of me ..."
Abstract

Cited by 135 (22 self)
 Add to MetaCart
Abstract. This paper presents two dynamic search trees attaining nearoptimal performance on any hierarchical memory. The data structures are independent of the parameters of the memory hierarchy, e.g., the number of memory levels, the blocktransfer size at each level, and the relative speeds of memory levels. The performance is analyzed in terms of the number of memory transfers between two memory levels with an arbitrary blocktransfer size of B; this analysis can then be applied to every adjacent pair of levels in a multilevel memory hierarchy. Both search trees match the optimal search bound of Θ(1+logB+1 N) memory transfers. This bound is also achieved by the classic Btree data structure on a twolevel memory hierarchy with a known blocktransfer size B. The first search tree supports insertions and deletions in Θ(1 + logB+1 N) amortized memory transfers, which matches the Btree’s worstcase bounds. The second search tree supports scanning S consecutive elements optimally in Θ(1 + S/B) memory transfers and supports insertions and deletions in Θ(1 + logB+1 N + log2 N) amortized memory transfers, matching the performance of the Btree for B = B Ω(log N log log N).
A LocalityPreserving CacheOblivious Dynamic Dictionary
, 2002
"... This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cacheoblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memoryhierarc ..."
Abstract

Cited by 73 (21 self)
 Add to MetaCart
This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cacheoblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memoryhierarchyspeci c parameterization. A localitypreserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys.
Optimal Bounds for the Predecessor Problem and Related Problems
 Journal of Computer and System Sciences
, 2001
"... We obtain matching upper and lower bounds for the amount of time to find the predecessor of a given element among the elements of a fixed compactly stored set. Our algorithms are for the unitcost word RAM with multiplication and are extended to give dynamic algorithms. The lower bounds are proved ..."
Abstract

Cited by 55 (0 self)
 Add to MetaCart
We obtain matching upper and lower bounds for the amount of time to find the predecessor of a given element among the elements of a fixed compactly stored set. Our algorithms are for the unitcost word RAM with multiplication and are extended to give dynamic algorithms. The lower bounds are proved for a large class of problems, including both static and dynamic predecessor problems, in a much stronger communication game model, but they apply to the cell probe and RAM models.
Deterministic Dictionaries
, 2001
"... It is shown that a static dictionary that offers constanttime access to n elements with wbit keys and occupies O(n) words of memory can be constructed deterministically in O(n log n) time on a unitcost RAM with word length w and a standard instruction set including multiplication. Whereas a rando ..."
Abstract

Cited by 34 (4 self)
 Add to MetaCart
It is shown that a static dictionary that offers constanttime access to n elements with wbit keys and occupies O(n) words of memory can be constructed deterministically in O(n log n) time on a unitcost RAM with word length w and a standard instruction set including multiplication. Whereas a randomized construction working in linear expected time was known, the running time of the best previous deterministic algorithm was Ω(n²). Using a standard dynamization technique, the first deterministic dynamic dictionary with constant lookup time and sublinear update time is derived. The new algorithms are weakly nonuniform; i.e., they require access to a fixed number of precomputed constants dependent on w. The main technical tools employed are unitcost errorcorrecting codes, word parallelism, and derandomization using conditional expectations.
Dynamic Ordered Sets with Exponential Search Trees
 Combination of results presented in FOCS 1996, STOC 2000 and SODA
, 2001
"... We introduce exponential search trees as a novel technique for converting static polynomial space search structures for ordered sets into fullydynamic linear space data structures. This leads to an optimal bound of O ( √ log n/log log n) for searching and updating a dynamic set of n integer keys i ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
We introduce exponential search trees as a novel technique for converting static polynomial space search structures for ordered sets into fullydynamic linear space data structures. This leads to an optimal bound of O ( √ log n/log log n) for searching and updating a dynamic set of n integer keys in linear space. Here searching an integer y means finding the maximum key in the set which is smaller than or equal to y. This problem is equivalent to the standard text book problem of maintaining an ordered set (see, e.g., Cormen, Leiserson, Rivest, and Stein: Introduction to Algorithms, 2nd ed., MIT Press, 2001). The best previous deterministic linear space bound was O(log n/log log n) due Fredman and Willard from STOC 1990. No better deterministic search bound was known using polynomial space.
Compressed data structures: dictionaries and dataaware measures
 In Proc. 5th International Workshop on Experimental Algorithms (WEA
, 2006
"... Abstract. We propose measures for compressed data structures, in which space usage is measured in a dataaware manner. In particular, we consider the fundamental dictionary problem on set data, where the task is to construct a data structure to represent a set S of n items out of a universe U = {0,. ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
Abstract. We propose measures for compressed data structures, in which space usage is measured in a dataaware manner. In particular, we consider the fundamental dictionary problem on set data, where the task is to construct a data structure to represent a set S of n items out of a universe U = {0,..., u − 1} and support various queries on S. We use a wellknown dataaware measure for set data called gap to bound the space of our data structures. We describe a novel dictionary structure taking gap+O(n log(u/n) / log n)+O(n log log(u/n)) bits. Under the RAM model, our dictionary supports membership, rank, select, and predecessor queries in nearly optimal time, matching the time bound of Andersson and Thorup’s predecessor structure [AT00], while simultaneously improving upon their space usage. Our dictionary structure uses exactly gap bits in the leading term (i.e., the constant factor is 1) and answers queries in nearoptimal time. When seen from the worst case perspective, we present the first O(n log(u/n))bit dictionary structure which supports these queries in nearoptimal time under RAM model. We also build a dictionary which requires the same space and supports membership, select, and partial rank queries even more quickly in O(log log n) time. To the best of our knowledge, this is the first of a kind result which achieves dataaware space usage and retains nearoptimal time. 1
Exponential structures for efficient cacheoblivious algorithms
 In Proceedings of the 29th International Colloquium on Automata, Languages and Programming
, 2002
"... Abstract. We present cacheoblivious data structures based upon exponential structures. These data structures perform well on a hierarchical memory but do not depend on any parameters of the hierarchy, including the block sizes and number of blocks at each level. The problems we consider are searchi ..."
Abstract

Cited by 20 (3 self)
 Add to MetaCart
Abstract. We present cacheoblivious data structures based upon exponential structures. These data structures perform well on a hierarchical memory but do not depend on any parameters of the hierarchy, including the block sizes and number of blocks at each level. The problems we consider are searching, partial persistence and planar point location. On a hierarchical memory where data is transferred in blocks of size B, some of the results we achieve are: – We give a linearspace data structure for dynamic searching that supports searches and updates in optimal O(log B N) worstcase I/Os, eliminating amortization from the result of Bender, Demaine, and FarachColton (FOCS ’00). We also consider finger searches and updates and batched searches. – We support partiallypersistent operations on an ordered set, namely, we allow searches in any previous version of the set and updates to the latest version of the set (an update creates a new version of the set). All operations take an optimal O(log B (m + N)) amortized I/Os, where N is the size of the version being searched/updated, and m is the number of versions. – We solve the planar point location problem in linear space, taking optimal O(log B N) I/Os for point location queries, where N is the number of line segments specifying the partition of the plane. The preprocessing requires O((N/B) log M/B N) I/Os, where M is the size of the ‘inner ’ memory. 1
Optimal static range reporting in one dimension
 IN PROC. 33RD ACM SYMPOSIUM ON THEORY OF COMPUTING (STOC'01)
, 2001
"... ..."
Worst case constant time priority queue
 In Proc. 12th ACMSIAM Symposium on Discrete Algorithms
, 2001
"... We present a new data structure of size O(M) for solving the vEB problem. When this data structure is used in combination with a new memory topology it provides an O(1) worst case time solution. 1 ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
We present a new data structure of size O(M) for solving the vEB problem. When this data structure is used in combination with a new memory topology it provides an O(1) worst case time solution. 1
Compressed dictionaries: Space measures, data sets, and experiments
 In Proc. 5th International Workshop on Experimental Algorithms (WEA
, 2006
"... Abstract. In this paper, we present an experimental study of the spacetime tradeoffs for the dictionary problem, where we design a data structure to represent set data, which consist of a subset S of n items out of a universe U = {0, 1,...,u − 1} supporting various queries on S. Our primary goal is ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Abstract. In this paper, we present an experimental study of the spacetime tradeoffs for the dictionary problem, where we design a data structure to represent set data, which consist of a subset S of n items out of a universe U = {0, 1,...,u − 1} supporting various queries on S. Our primary goal is to reduce the space required for such a dictionary data structure. Many compression schemes have been developed for dictionaries, which fall generally in the categories of combinatorial encodings and dataaware methods and still support queries efficiently. We show that for many (realworld) datasets, dataaware methods lead to a worthwhile compression over combinatorial methods. Additionally, we design a new dataaware building block structure called BSGAP that presents improvements over other dataaware methods. 1