Results 1  10
of
14
Opportunistic Data Structures with Applications
, 2000
"... In this paper we address the issue of compressing and indexing data. We devise a data structure whose space occupancy is a function of the entropy of the underlying data set. We call the data structure opportunistic since its space occupancy is decreased when the input is compressible and this space ..."
Abstract

Cited by 179 (12 self)
 Add to MetaCart
In this paper we address the issue of compressing and indexing data. We devise a data structure whose space occupancy is a function of the entropy of the underlying data set. We call the data structure opportunistic since its space occupancy is decreased when the input is compressible and this space reduction is achieved at no significant slowdown in the query performance. More precisely, its space occupancy is optimal in an informationcontent sense because a text T [1, u] is stored using O(H k (T )) + o(1) bits per input symbol in the worst case, where H k (T ) is the kth order empirical entropy of T (the bound holds for any fixed k). Given an arbitrary string P [1; p], the opportunistic data structure allows to search for the occ occurrences of P in T in O(p + occ log u) time (for any fixed > 0). If data are uncompressible we achieve the best space bound currently known [12]; on compressible data our solution improves the succinct suffix array of [12] and the classical suffix tree and suffix array data structures either in space or in query time or both.
Optimal Dynamic Range Searching in Nonreplicating Index Structures
 In Proc. International Conference on Database Theory, LNCS 1540
, 1997
"... We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(l ..."
Abstract

Cited by 26 (2 self)
 Add to MetaCart
We consider the problem of dynamic range searching in tree structures that do not replicate data. We propose a new dynamic structure, called the Otree, that achieves a query time complexity of O(n (d\Gamma1)=d ) on n ddimensional points and an amortized insertion/deletion time complexity of O(log n). We show that this structure is optimal when data is not replicated. In addition to optimal query and insertion/deletion times, the Otree also supports exact match queries in worstcase logarithmic time. 1 Introduction Given a set S of ddimensional points, a range query q is specified by d 1dimensional intervals [q s i ; q e i ], one for each dimension i, and retrieves all points p = (p 1 ; p 2 ; : : : p d ) in S such that h8i 2 f1; : : : ; dg : q s i p i q e i i. This type of searching in multidimensional space has important applications in geographic information systems, image databases, and computer graphics. Several structures such as the range trees [3], Prange trees [29...
Efficient CrossTrees for External Memory
, 1998
"... . We describe efficient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
. We describe efficient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make this gap even wider. We focus particularly on multidimensional data sets which must be kept simultaneously sorted under several total orderings: these orderings may be defined by the user, and may also be changed dynamically by the user throughout the lifetime of the data structures, according to the application at hand. Besides standard insertions and deletions of data, our proposed solution can perform efficiently split and concatenate operations on the whole data sets according to any ordering. This allows the user: (1) to dynamically rearrange any ordering of a segment of data, in a time that is faster than recomputing the new ordering from scratch; (2) to efficiently answer queries rel...
Efficient Splitting and Merging Algorithms for Order Decomposable Problems
, 1997
"... Let S be a set whose items are sorted with respect to d ? 1 total orders OE 1 ; : : : ; OE d , and which is subject to dynamic operations, such as insertions of a single item, deletions of a single item, split and concatenate operations performed according to any chosen order OE i (1 i d). This g ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
Let S be a set whose items are sorted with respect to d ? 1 total orders OE 1 ; : : : ; OE d , and which is subject to dynamic operations, such as insertions of a single item, deletions of a single item, split and concatenate operations performed according to any chosen order OE i (1 i d). This generalizes to dimension d ? 1 the notion of concatenable data structures, such as the 23trees, which support splits and concatenates under a single total order. The main contribution of this paper is a general and novel technique for solving order decomposable problems on S, which yields new and efficient concatenable data structures for dimension d ? 1. By using our technique we maintain S with the following time bounds: O(log n) for the insertion or the deletion of a single item, where n is the number of items currently in S; O(n 1\Gamma1=d ) for splits and concatenates along any order, and for rectangular range queries. The space required is O(n). We provide several applications of ...
Twotier relaxed heaps
 Proceedings of the 17th International Symposium on Algorithms and Computation, Lecture Notes in Computer Science 4288, SpringerVerlag
, 2006
"... Abstract. We introduce an adaptation of runrelaxed heaps which provides efficient heap operations with respect to the number of element comparisons performed. Our data structure guarantees the worstcase cost of O(1) for findmin, insert, and decrease; and the worstcase cost of O(lg n) with at mos ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
Abstract. We introduce an adaptation of runrelaxed heaps which provides efficient heap operations with respect to the number of element comparisons performed. Our data structure guarantees the worstcase cost of O(1) for findmin, insert, and decrease; and the worstcase cost of O(lg n) with at most lg n + 3 lg lg n + O(1) element comparisons for delete, improving the bound of 3lg n + O(1) on the number of element comparisons known for runrelaxed heaps. Here, n denotes the number of elements stored prior to the operation in question, and lg n equals max {1, log 2 n}. 1
Faster Deterministic Dictionaries
 In 11 th Annual ACM Symposium on Discrete Algorithms (SODA
, 1999
"... We consider static dictionaries over the universe U = on a unitcost RAM with word size w. Construction of a static dictionary with linear space consumption and constant lookup time can be done in linear expected time by a randomized algorithm. In contrast, the best previous deterministic a ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
We consider static dictionaries over the universe U = on a unitcost RAM with word size w. Construction of a static dictionary with linear space consumption and constant lookup time can be done in linear expected time by a randomized algorithm. In contrast, the best previous deterministic algorithm for constructing such a dictionary with n elements runs in time O(n ) for # > 0. This paper narrows the gap between deterministic and randomized algorithms exponentially, from the factor of to an O(log n) factor. The algorithm is weakly nonuniform, i.e. requires certain precomputed constants dependent on w. A byproduct of the result is a lookup time vs insertion time tradeo# for dynamic dictionaries, which is optimal for a certain class of deterministic hashing schemes.
A framework for speeding up priorityqueue operations
, 2004
"... Abstract. We introduce a framework for reducing the number of element comparisons performed in priorityqueue operations. In particular, we give a priority queue which guarantees the worstcase cost of O(1) per minimum finding and insertion, and the worstcase cost of O(log n) with at most log n + O ..."
Abstract

Cited by 8 (8 self)
 Add to MetaCart
Abstract. We introduce a framework for reducing the number of element comparisons performed in priorityqueue operations. In particular, we give a priority queue which guarantees the worstcase cost of O(1) per minimum finding and insertion, and the worstcase cost of O(log n) with at most log n + O(1) element comparisons per minimum deletion and deletion, improving the bound of 2log n + O(1) on the number of element comparisons known for binomial queues. Here, n denotes the number of elements stored in the data structure prior to the operation in question, and log n equals max {1,log 2 n}. We also give a priority queue that provides, in addition to the abovementioned methods, the prioritydecrease (or decreasekey) method. This priority queue achieves the worstcase cost of O(1) per minimum finding, insertion, and priority decrease; and the worstcase cost of O(log n) with at most log n + O(log log n) element comparisons per minimum deletion and deletion. CR Classification. E.1 [Data Structures]: Lists, stacks, and queues; E.2 [Data
Revised version of "Efficient CrossTrees for External Memory"
, 2000
"... Due to a printing problem, the revised version of our paper [19] has been replaced by the (shorter) submitted version. In this technical report, we include the revised version that has not been published by mistake. In particular, we describe ecient methods for organizing and maintaining large m ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
Due to a printing problem, the revised version of our paper [19] has been replaced by the (shorter) submitted version. In this technical report, we include the revised version that has not been published by mistake. In particular, we describe ecient methods for organizing and maintaining large multidimensional data sets in external memory. This is particular important as access to external memory is currently several order of magnitudes slower than access to main memory, and current technology advances are likely to make this gap even wider. We focus particularly on multidimensional data sets which must be kept simultaneously sorted under several total orderings: these orderings may be dened by the user, and may also be changed dynamically by the user throughout the lifetime of the data structures, according to the application at hand. Besides standard insertions and deletions of data, our proposed solution can perform eciently split and concatenate operations on the whole data sets according to any ordering. This allows the user: (1) to dynamically rearrange any ordering of a segment of data, in a time that is faster than recomputing the new ordering from scratch; (2) to eciently answer queries related to the data contained in a particular range of the current orderings. Our solution fully generalizes the notion of Btrees to higher dimensions by carefully combining spacedriven and datadriven partitions. Balancing is easy as we introduce a new multidimensional data structure, the crosstree, that is the cross product of balanced trees. As a result, the crosstree is competitive with other popular index data structures that require linear space (including kd trees, quadtrees, grid les, space lling curves, hBtrees, and Rtrees). Diparti...
Divided kd Trees
, 1988
"... A variant of kd trees, the divided kd tree, is described that has some important advantages over ordinary kd trees. The divided kd tree is fully dynamic and allows for the insertion and deletion of points in O(log n) worstcase time. Moreover, divided kd trees allow for split and concatenate op ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
A variant of kd trees, the divided kd tree, is described that has some important advantages over ordinary kd trees. The divided kd tree is fully dynamic and allows for the insertion and deletion of points in O(log n) worstcase time. Moreover, divided kd trees allow for split and concatenate operations. Different types of queries can be performed with equal or almost equal efficiency as on ordinary kd trees. Both two and multidimensional divided kd trees are studied.
Efficient Dynamic Range Searching using Data Replication
, 1997
"... Given the lower bound of\Omega\Gamma n (d\Gamma1)=d ) for range query time complexity on n ddimensional point data, we investigate whether little replication can improve the query and update times significantly. We propose linearspace index structures that minimize the query and update times; t ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Given the lower bound of\Omega\Gamma n (d\Gamma1)=d ) for range query time complexity on n ddimensional point data, we investigate whether little replication can improve the query and update times significantly. We propose linearspace index structures that minimize the query and update times; the query time we achieve is O(n ffl ) for any ffl ? 0, and, the update time is O(log n). 1 Introduction Given a set S of ddimensional points, a range query q is specified by d 1dimensional intervals [a i ; b i ] one for each dimension i, and retrieves all points p = (p 1 ; p 2 ; : : : p d ) in S such that h8i 2 f1; : : : ; dg : a i p i b i i. This type of searching in multiple dimensions is fundamental to geographic information systems, image databases and computer graphics. Several efficient data structures using linear and nonlinear space (measured in terms of the number of data points) have been proposed in the literature [Bentley 1977, Bentley 1980, Guttman 1984]. For large databa...