ID: cs/0210006

Dynamic Ordered Sets with Exponential Search Trees

October 9, 2002

View on ArXiv
Arne Andersson, Mikkel Thorup
Computer Science
Data Structures and Algorith...

We introduce exponential search trees as a novel technique for converting static polynomial space search structures for ordered sets into fully-dynamic linear space data structures. This leads to an optimal bound of O(sqrt(log n/loglog 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/loglog n) due Fredman and Willard from STOC 1990. No better deterministic search bound was known using polynomial space. We also get the following worst-case linear space trade-offs between the number n, the word length w, and the maximal key U < 2^w: O(min{loglog n+log n/log w, (loglog n)(loglog U)/(logloglog U)}). These trade-offs are, however, not likely to be optimal. Our results are generalized to finger searching and string searching, providing optimal results for both in terms of n.

Similar papers 1

On Dynamic Range Reporting in One Dimension

February 5, 2005

87% Match
Christian Worm Mortensen, Rasmus Pagh, Mihai Patrascu
Data Structures and Algorith...

We consider the problem of maintaining a dynamic set of integers and answering queries of the form: report a point (equivalently, all points) in a given interval. Range searching is a natural and fundamental variant of integer search, and can be solved using predecessor search. However, for a RAM with w-bit words, we show how to perform updates in O(lg w) time and answer queries in O(lglg w) time. The update time is identical to the van Emde Boas structure, but the query time...

Find SimilarView on arXiv

Alphabet-Dependent String Searching with Wexponential Search Trees

February 14, 2013

87% Match
Johannes Fischer, Pawel Gawrychowski
Data Structures and Algorith...

It is widely assumed that $O(m+\lg \sigma)$ is the best one can do for finding a pattern of length $m$ in a compacted trie storing strings over an alphabet of size $\sigma$, if one insists on linear-size data structures and deterministic worst-case running times [Cole et al., ICALP'06]. In this article, we first show that a rather straightforward combination of well-known ideas yields $O(m+\lg\lg \sigma)$ deterministic worst-case searching time for static tries. Then we mov...

Find SimilarView on arXiv

Finger Indexed Sets: New Approaches

May 17, 2008

87% Match
Spyros Sioutas
Data Structures and Algorith...
Databases

In the particular case we have insertions/deletions at the tail of a given set S of $n$ one-dimensional elements, we present a simpler and more concrete algorithm than that presented in [Anderson, 2007] achieving the same (but also amortized) upper bound of $O(\sqrt{logd/loglogd})$ for finger searching queries, where $d$ is the number of sorted keys between the finger element and the target element we are looking for. Furthermore, in general case we have insertions/deletions ...

Find SimilarView on arXiv

Succinct Dynamic Ordered Sets with Random Access

March 26, 2020

86% Match
Giulio Ermanno Pibiri, Rossano Venturini
Data Structures and Algorith...

The representation of a dynamic ordered set of $n$ integer keys drawn from a universe of size $m$ is a fundamental data structuring problem. Many solutions to this problem achieve optimal time but take polynomial space, therefore preserving time optimality in the \emph{compressed} space regime is the problem we address in this work. For a polynomial universe $m = n^{\Theta(1)}$, we give a solution that takes $\textsf{EF}(n,m) + o(n)$ bits, where $\textsf{EF}(n,m) \leq n\lceil...

Find SimilarView on arXiv

On-line Indexing for General Alphabets via Predecessor Queries on Subsets of an Ordered List

August 19, 2012

85% Match
Tsvi Kopelowitz
Data Structures and Algorith...

The problem of Text Indexing is a fundamental algorithmic problem in which one wishes to preprocess a text in order to quickly locate pattern queries within the text. In the ever evolving world of dynamic and on-line data, there is also a need for developing solutions to index texts which arrive on-line, i.e. a character at a time, and still be able to quickly locate said patterns. In this paper, a new solution for on-line indexing is presented by providing an on-line suffix ...

Find SimilarView on arXiv

The Power and Limitations of Static Binary Search Trees with Lazy Finger

April 25, 2013

85% Match
Prosenjit Bose, Karim Douïeb, ... , Langerman Stefan
Data Structures and Algorith...

A static binary search tree where every search starts from where the previous one ends (lazy finger) is considered. Such a search method is more powerful than that of the classic optimal static trees, where every search starts from the root (root finger), and less powerful than when rotations are allowed---where finding the best rotation based tree is the topic of the dynamic optimality conjecture of Sleator and Tarjan. The runtime of the classic root-finger tree can be expre...

Find SimilarView on arXiv

Dynamic Integer Sets with Optimal Rank, Select, and Predecessor Search

August 13, 2014

85% Match
Mihai Patrascu, Mikkel Thorup
Data Structures and Algorith...

We present a data structure representing a dynamic set S of w-bit integers on a w-bit word RAM. With |S|=n and w > log n and space O(n), we support the following standard operations in O(log n / log w) time: - insert(x) sets S = S + {x}. - delete(x) sets S = S - {x}. - predecessor(x) returns max{y in S | y< x}. - successor(x) returns min{y in S | y >= x}. - rank(x) returns #{y in S | y< x}. - select(i) returns y in S with rank(y)=i, if any. Our O(log n/log w) bound is opt...

Find SimilarView on arXiv

Managing Unbounded-Length Keys in Comparison-Driven Data Structures with Applications to On-Line Indexing

June 3, 2013

85% Match
Amihood Amir, Gianni Franceschini, Roberto Grossi, Tsvi Kopelowitz, ... , Lewenstein Noa
Data Structures and Algorith...

This paper presents a general technique for optimally transforming any dynamic data structure that operates on atomic and indivisible keys by constant-time comparisons, into a data structure that handles unbounded-length keys whose comparison cost is not a constant. Examples of these keys are strings, multi-dimensional points, multiple-precision numbers, multi-key data (e.g.~records), XML paths, URL addresses, etc. The technique is more general than what has been done in prev...

Find SimilarView on arXiv

Engineering Predecessor Data Structures for Dynamic Integer Sets

April 14, 2021

84% Match
Patrick Dinklage, Johannes Fischer, Alexander Herlez
Data Structures and Algorith...

We present highly optimized data structures for the dynamic predecessor problem, where the task is to maintain a set $S$ of $w$-bit numbers under insertions, deletions, and predecessor queries (return the largest element in $S$ no larger than a given key). The problem of finding predecessors can be viewed as a generalized form of the membership problem, or as a simple version of the nearest neighbour problem. It lies at the core of various real-world problems such as internet...

Find SimilarView on arXiv

De-amortizing Binary Search Trees

November 7, 2011

84% Match
Prosenjit Bose, Sébastien Collette, ... , Langerman Stefan
Data Structures and Algorith...

We present a general method for de-amortizing essentially any Binary Search Tree (BST) algorithm. In particular, by transforming Splay Trees, our method produces a BST that has the same asymptotic cost as Splay Trees on any access sequence while performing each search in O(log n) worst case time. By transforming Multi-Splay Trees, we obtain a BST that is O(log log n) competitive, satisfies the scanning theorem, the static optimality theorem, the static finger theorem, the wor...

Find SimilarView on arXiv