Results 1 - 10
of
29
Succinct indexable dictionaries with applications to encoding k-ary trees and multisets
- In Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA
"... We consider the indexable dictionary problem, which consists of storing a set S ⊆ {0,...,m − 1} for some integer m, while supporting the operations of rank(x), which returns the number of elements in S that are less than x if x ∈ S, and −1 otherwise; and select(i) which returns the i-th smallest ele ..."
Abstract
-
Cited by 149 (5 self)
- Add to MetaCart
We consider the indexable dictionary problem, which consists of storing a set S ⊆ {0,...,m − 1} for some integer m, while supporting the operations of rank(x), which returns the number of elements in S that are less than x if x ∈ S, and −1 otherwise; and select(i) which returns the i-th smallest element in S. We give a data structure that supports both operations in O(1) time on the RAM model and requires B(n,m)+ o(n)+O(lg lg m) bits to store a set of size n, where B(n,m) = ⌈ lg ( m) ⌉ n is the minimum number of bits required to store any n-element subset from a universe of size m. Previous dictionaries taking this space only supported (yes/no) membership queries in O(1) time. In the cell probe model we can remove the O(lg lg m) additive term in the space bound, answering a question raised by Fich and Miltersen, and Pagh. We present extensions and applications of our indexable dictionary data structure, including: • an information-theoretically optimal representation of a k-ary cardinal tree that supports standard operations in constant time, • a representation of a multiset of size n from {0,...,m − 1} in B(n,m+n) + o(n) bits that supports (appropriate generalizations of) rank and select operations in constant time, and • a representation of a sequence of n non-negative integers summing up to m in B(n,m + n) + o(n) bits that supports prefix sum queries in constant time. 1
Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions
- Algorithmica
, 1996
"... Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, so ..."
Abstract
-
Cited by 55 (5 self)
- Add to MetaCart
Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, solves the problem of computing witnesses for the Boolean product of two matrices. That is, if A and B are two n by n matrices, and C = AB is their Boolean product, the algorithm finds for every entry Cij = 1 a witness: an index k so that Aik = Bkj = 1. Its running time exceeds that of computing the product of two n by n matrices with small integer entries by a polylogarithmic factor. The second algorithm is a nearly linear time deterministic procedure for constructing a perfect hash function for a given n-subset of {1,..., m}.
LOW REDUNDANCY IN STATIC DICTIONARIES WITH CONSTANT QUERY TIME
- SIAM J. COMPUT.
, 2001
"... A static dictionary is a data structure storing subsets of a finite universe U, answering membership queries. We show that on a unit cost RAM with word size Θ(log |U|), a static dictionary for n-element sets with constant worst case query time can be obtained using B +O(log log |U|)+o(n) (|U|) bits ..."
Abstract
-
Cited by 40 (6 self)
- Add to MetaCart
A static dictionary is a data structure storing subsets of a finite universe U, answering membership queries. We show that on a unit cost RAM with word size Θ(log |U|), a static dictionary for n-element sets with constant worst case query time can be obtained using B +O(log log |U|)+o(n) (|U|) bits of storage, where B = ⌈log2 ⌉ is the minimum number of bits needed to represent all n-n element subsets of U.
Splitters and Near-Optimal Derandomization
, 1995
"... We present a fairly general method for finding deterministic constructions obeying what we call k- restrictions; this yields structures of size not much larger than the probabilistic bound. The structures constructed by our method include (n; k)-universal sets (a collection of binary vectors of leng ..."
Abstract
-
Cited by 28 (1 self)
- Add to MetaCart
We present a fairly general method for finding deterministic constructions obeying what we call k- restrictions; this yields structures of size not much larger than the probabilistic bound. The structures constructed by our method include (n; k)-universal sets (a collection of binary vectors of length n such that for any subset of size k of the indices, all 2 configurations appear) and families of perfect hash functions. The near-optimal constructions of these objects imply the very efficient derandomization of algorithms in learning, of fixed-subgraph finding algorithms, and of near optimal \Sigma\Pi\Sigma threshold formulae. In addition, they derandomize the reduction showing the hardness of approximation of set cover. They also yield deterministic constructions for a local-coloring protocol, and for exhaustive testing of circuits.
Low Redundancy in Static Dictionaries with O(1) Worst Case Lookup Time
- IN PROCEEDINGS OF THE 26TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING (ICALP '99
, 1999
"... A static dictionary is a data structure for storing subsets of a nite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size (log jU j), and show that for n-element subsets, constant worst case query time can be obtained us ..."
Abstract
-
Cited by 21 (5 self)
- Add to MetaCart
A static dictionary is a data structure for storing subsets of a nite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size (log jU j), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log jU j) + o(n) bits of storage, where B = dlog 2 jUj n e is the minimum number of bits needed to represent all such subsets. For jU j = n log O(1) n the dictionary supports constant time rank queries.
Efficient Construction of a Small Hitting Set for Combinatorial Rectangles in High Dimension
, 1993
"... Given d, m and epsilon, we deterministically produce a sequence of points S that hits every combinatorial rectangle in [m]^d of volume at least epsilon. Both the running time of the algorithm and |S| are polynomial in m log(d)/epsilon. This algorithm has applications to deterministic constructions o ..."
Abstract
-
Cited by 20 (7 self)
- Add to MetaCart
Given d, m and epsilon, we deterministically produce a sequence of points S that hits every combinatorial rectangle in [m]^d of volume at least epsilon. Both the running time of the algorithm and |S| are polynomial in m log(d)/epsilon. This algorithm has applications to deterministic constructions of small sample spaces for general multivalued random variables. 1 Introduction The problem we consider in this paper is motivated by the following basic witness finding problem: design an efficient algorithm that on Hebrew University, Computer Science Department, Jerusalem Israel. Research partially done while visiting the International Computer Science Institute. y International Computer Science Institute and UC Berkeley. Research partially supported by NSF Grant CCR-9016468 and grant No. 89-00312 from the United States-Israel Binational Science Foundation (BSF), Jerusalem, Israel. z Department of Mathematics, Rutgers University and Department of CSE, UCSD. Supported in part by NSF under grant C...
Low Redundancy in Dictionaries with O(1) Worst Case Lookup Time
- IN PROC. 26TH INTERNATIONAL COLLOQUIUM ON AUTOMATA, LANGUAGES AND PROGRAMMING (ICALP
, 1998
"... A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size ze jU j), and show that for n-element subsets, constant worst case query time can be obtain ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
A static dictionary is a data structure for storing subsets of a finite universe U , so that membership queries can be answered efficiently. We study this problem in a unit cost RAM model with word size ze jU j), and show that for n-element subsets, constant worst case query time can be obtained using B +O(log log jU j) + o(n) bits of storage, where B = dlog jU j e is the minimum number of bits needed to represent all such subsets. The solution for dense subsets uses B + O( jU j log log jU j log jU j ) bits of storage, and supports constant time rank queries. In a dynamic setting, allowing insertions and deletions, our techniques give an O(B) bit space usage.
Optimal static range reporting in one dimension
- IN PROC. 33RD ACM SYMPOSIUM ON THEORY OF COMPUTING (STOC'01)
, 2001
"... ..."
On the Probe Complexities of Membership and Perfect Hashing
"... This paper considers the following static data structure problems. ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
This paper considers the following static data structure problems.

