## Dynamic ordered sets with exponential search trees (2002)

Venue: | CoRR cs.DS/0210006. See also FOCS’96, STOC’00 |

Citations: | 27 - 1 self |

### BibTeX

@INPROCEEDINGS{Andersson02dynamicordered,

author = {Arne Andersson and Mikkel Thorup},

title = {Dynamic ordered sets with exponential search trees},

booktitle = {CoRR cs.DS/0210006. See also FOCS’96, STOC’00},

year = {2002},

pages = {0210006}

}

### Years of Citing Articles

### OpenURL

### Abstract

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 ( � log n / log log n) for searching and updating a dynamic set X of n integer keys in linear space. Searching X for an integer y means finding the maximum key in X which is smaller than or equal to y. This problem is equivalent to the standard text book problem of maintaining an ordered set. The best previous deterministic linear space bound was O(log n / log log n) due to 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 < 2W: O(min{log log n + log log U log n / log W, log log n · log log log 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.

### Citations

8996 | Introduction to Algorithms - Cormen, Leiserson, et al. - 2001 |

739 |
The Art of Computer Programming Volume 3/ Sorting and Searching
- Knuth
- 1973
(Show Context)
Citation Context ... from which we find the closest neighboring leaf by following the node’s neighbor pointer. During a search, evaluation of the hash function requires integer division. However, as pointed out by Knuth =-=[24]-=-, division with some precomputed constant p may essentially be replaced by multiplication with 1/p. Having computed r = ⌊2 log U /p⌋ once in O(log U) time, we can compute x div p as ⌊xr/2 log U ⌋ wher... |

217 |
Storing a sparse table with O(1) worst case access time
- Fredman, Komlos, et al.
- 1984
(Show Context)
Citation Context ...own to the node. Since the paths are of different length, we use log U hash tables, one for each path length. Each hash table contains at most d nodes. The algorithm by Fredman, Komlos, and Szemeredi =-=[17]-=- constructs a hash table of d keys in O(d 3 log U) time. The algorithm uses division, this can be avoided by simulating each division in O(log U) time. With this extra cost, and since we use log U tab... |

200 |
Design and implementation of an efficient priority queue
- BOAS, KAAS, et al.
- 1977
(Show Context)
Citation Context ...n, the word length W , and the maximal key U < 2W : log log U O(min{log log n + log n/ log W, log log n · }). The last bound should be compared log log log U with van Emde Boas’ bound of O(log log U) =-=[34, 35]-=- that requires randomization (hashing) in order to achieve linear space [26]. 1.6 AC 0 operations As an additional challenge, Fredman and Willard [18] asked how quickly we can search on a RAM if all t... |

161 |
Trans-dichotomous algorithms for minimum spanning trees and shortest paths
- Fredman, Willard
- 1994
(Show Context)
Citation Context ...only the S-structures of the nodes being joined or split, but also the S-structure of their parent. For contrast, when Willard [37] de-amortizes fusion trees, he actually uses the “atomic heaps” from =-=[19]-=- as S-structures, and these atomic heaps support insert and delete in constant time. Hence, when nodes get joined or split, he can just delete or insert the splitter between them directly in the S-str... |

151 |
Data structures and algorithm 1: Sorting and Searching
- Mehlhorn
- 1984
(Show Context)
Citation Context ...ented by Mehlhorn [25, §III]. While the classical method requires weight-balanced search structures, our approach contains a direct reduction to any unweighted search structure. With inspiration from =-=[2, 5, 7, 25]-=- we show that if the longest common prefix between a key y and the stored keys has ℓ words, we can search y in O(ℓ + � log n/ log log n) time, where n is the current number of keys. Updates can be don... |

149 |
Surpassing the information theoretic bound with fusion trees
- Fredman, Willard
- 1993
(Show Context)
Citation Context ... precision, and then just perceive the result as an integer. These examples illustrate how integer ordering can capture many seemingly different orderings. 1.4 History At STOC’90, Fredman and Willard =-=[18]-=- surpassed the comparison-based lower bounds for integer sorting and searching. Their key result was an O(log n/ log log n) amortized bound for deterministic dynamic searching in linear space. They al... |

130 |
The cell probe complexity of dynamic data structures
- Fredman, Saks
- 1989
(Show Context)
Citation Context ...date time and O(log q) finger search time, for q intermediate keys, in the comparison based model of computation. However, their approach has a lower bound of Ω(log q/ log log q) as it involves ranks =-=[20]-=-, and would prevent us from obtaining our O( � log q/ log log q) bound. Furthermore, our target is the general schedule for multiway trees in Theorem 24 which is not restricted to search applications.... |

114 |
Emde Boas. Preserving order in a forest in less than logarithmic time and linear space
- van
- 1977
(Show Context)
Citation Context ...n, the word length W , and the maximal key U < 2W : log log U O(min{log log n + log n/ log W, log log n · }). The last bound should be compared log log log U with van Emde Boas’ bound of O(log log U) =-=[34, 35]-=- that requires randomization (hashing) in order to achieve linear space [26]. 1.6 AC 0 operations As an additional challenge, Fredman and Willard [18] asked how quickly we can search on a RAM if all t... |

86 |
Log-logarithmic worst-case range queries are possible in space theta(n
- Willard
- 1983
(Show Context)
Citation Context ... prefix of x; if the node is there we try with a longer prefix, otherwise we try with a shorter one. The idea of a binary search for a matching prefix is the basic principle of the van Emde Boas tree =-=[34, 35, 36]-=-. However, a van Emde Boas tree is not just a plain binary trie represented as above. One problem is the space requirements; a plain binary trie storing d keys may contain as much as Θ(d log U) nodes.... |

60 | Optimal bounds for the predecessor problem
- Beame, Fich
- 1999
(Show Context)
Citation Context ... main result is that we can support all the above operations in O( √ log n/ log log n) worst-case time, and this common bound is best possible. The lower bound follows from a result of Beame and Fich =-=[7]-=-. It shows that even if we just want to support Insert and Predecessor in polynomial space, one of these two operations have a worst-case bound of Ω( √ log n/ log log n), matching our common upper bou... |

56 | Fich, Optimal bounds for the predecessor problem and related problems
- Beame, E
(Show Context)
Citation Context ... bound is best possible. We achieve this by introducing a new kind of search trees, called exponential search trees, illustrated in Figure 1.1. The lower bound follows from a result of Beame and Fich =-=[7]-=-. It shows that even if we just want to support insert and predecessor operations in polynomial space, one of these two operations have a worst-case bound of Ω( � log n/ log log n), matching our commo... |

51 |
Adding range restriction capability to dynamic data structures
- Willard, Lueker
- 1985
(Show Context)
Citation Context ...t constants Our main challenge is now to rebuild S-structures in the background so that they remain sufficiently updated as nodes get joined and split. In principle, this is a standard task (see e.g. =-=[38]-=-). Yet it is a highly delicate puzzle which is typically either not done (e.g. Fredman and Willard [18] only claimed amortized bounds for their original fusion trees), or done with rather incomplete s... |

49 |
Priority queues: Small, monotone and trans-dichotomous
- Raman
- 1996
(Show Context)
Citation Context ... compute the correct value of x div p by an additional test. Once we can compute div, we can also compute mod. An alternative method for perfect hashing without division is the one developed by Raman =-=[30]-=-. Not only does this algorithm avoid division, it is also asymptotically faster, O(d 2 log U). Corollary 21 There is a data structure occupying linear space for which the worst-case cost of a search a... |

47 |
C Programming Language, 2nd ed
- Kernighan, Ritchie
- 1988
(Show Context)
Citation Context ...ch, or look-up, identifies the key to be deleted, if any. 1.3 Model of computation Our algorithms run on a RAM that reflects what we can program in standard imperative programming languages such as C =-=[23]-=-. The memory is divided into addressable words of length W . Addresses are themselves contained in words, so W ≥ log n. Moreover, we have a constant number of registers, each with capacity for one wor... |

40 | Tight(er) worst-case bounds on dynamic searching and priority queues
- Andersson, Thorup
- 2000
(Show Context)
Citation Context ...alized to finger searching and string searching, providing optimal results for both in terms of n. ∗ This paper combines results presented by the authors at the 37th FOCS 1996 [2], the 32nd STOC 2000 =-=[5]-=-, and the 12th SODA 2001 [6] 1s1 Introduction 1.1 The Textbook Problem Maintaining a dynamic ordered set is a fundamental textbook problem (see, e.g., [13, Part III]). Starting from an empty set X, th... |

38 | Faster deterministic sorting and searching in linear space
- Andersson
- 1996
(Show Context)
Citation Context ...l. Our results are generalized to finger searching and string searching, providing optimal results for both in terms of n. ∗ This paper combines results presented by the authors at the 37th FOCS 1996 =-=[2]-=-, the 32nd STOC 2000 [5], and the 12th SODA 2001 [6] 1s1 Introduction 1.1 The Textbook Problem Maintaining a dynamic ordered set is a fundamental textbook problem (see, e.g., [13, Part III]). Starting... |

36 | Time-space trade-offs for predecessor search
- Pătras¸cu, Thorup
- 2006
(Show Context)
Citation Context ...nistic dynamic search time measured in terms of the universe size U, that is, when all keys are in [U]? The current O( � log n/ log log n) bound is only optimal in terms of the number n of keys. From =-=[29]-=- we have a lower bound of Ω(log log U). Using randomized hashing, this lower bound is matched by van Emde Boas’ data structure [26, 34, 35]. Can this be derandomized? In log log U Corollary 4, we prov... |

36 | Pagh: Deterministic Dictionaries
- Hagerup, Miltersen, et al.
- 2001
(Show Context)
Citation Context ... of O( √ log n/ log log n) for dynamic integer searching. We note that this also provides the best bounds for the simpler problem of membership and look-up queries if one wants updates in n o(1) time =-=[21]-=-. Our results also extend to optimal finger search with constant finger update, and to optimal string searching. 1.4 Model of computation Our algorithms runs on a RAM, which models what we program in ... |

35 | Sublogarithmic searching without multiplications
- Andersson
- 1995
(Show Context)
Citation Context ...tion, no search structure using standard AC 0 operations has been presented using polynomial space and o(log n) time, not even for the static case. Without requirements of polynomial space, Andersson =-=[1]-=- has presented a deterministic worst-case bound of O( √ log n). In this paper, we will present a linear space worst-case time bound of O((log n) 3/4+o(1) ) using only standard AC 0 operations, thus su... |

32 |
A tournament problem
- Ford, Johnson
- 1959
(Show Context)
Citation Context ... sort and hashing. Historically, radix sort dates back at least to 1929 [12] and hashing dates back at least to 1956 [15], whereas the focus on general comparison based methods only date back to 1959 =-=[16]-=-. In this paper, we consider the above basic data types of integers and floating point numbers. Our main result is that we can support all the above operations in O( � log n/ log log n) worst-case tim... |

30 |
Deterministic sorting in O(n log log n) time and linear space
- Han
(Show Context)
Citation Context ...log log n)(log log log n)) and sorting in O(n(log log n)(log log log n)) time. However, exponential search trees are not used in Han’s recent deterministic O(n log log n) time sorting in linear space =-=[22]-=- or in Thorup’s [32] corresponding priority queue with O(log log n) update time. Since (1) cannot give bounds below O(log log n) per key, it seems that the role of exponential search trees is played o... |

30 |
Examining computational geometry, Van Emde Boas trees, and hashing from the perspective of the fusion tree
- Willard
- 2000
(Show Context)
Citation Context ...joining and splitting nodes. By locally we mean that the joining and splitting is done just by joining and splitting the children sequences. This type of data structure is for example used by Willard =-=[37]-=- to obtain a worst-case version of fusion trees. One problem with the previous definition of exponential search trees is that the criteria for when subtrees are too large or too small depend on their ... |

23 |
A balanced search tree with O(1) worstcase update time
- Levcopoulos, Overmars
- 1988
(Show Context)
Citation Context ...s, which is obtained below using a combination of techniques. We will use a tabulation technique for the lower levels of the exponential search tree, and a scheduling idea of Levcopoulos and Overmars =-=[27]-=- for the upper levels. 5.1 Constant update cost for small trees on the lower levels In this subsection, we will consider small trees induced by lower levels of the multiway tree from Theorem 24. One p... |

21 |
Exponential structures for cache-oblivious algorithms
- BENDER, COLE, et al.
(Show Context)
Citation Context ...ince (1) cannot give bounds below O(log log n) per key, it seems that the role of exponential search trees is played out in the context of integer sorting and priority queues. Bender, Cole, and Raman =-=[8]-=- have used the techniques to derive worst-case efficient cache-oblivious algorithms for several data structure problem. This nicely highlights that the exponential search trees themselves are not rest... |

21 |
Upper bounds for sorting integers on random access machines, Theoret
- Kirkpatrick, Reisch
(Show Context)
Citation Context ...el is equivalent to a restriction that one only has unit cost operations for integers that are polynomial in n and the integers in X. The later formulation goes back to Kirkpatrick and Reisch in 1984 =-=[24]-=-. We note that if we do not somehow limit the size of the unit-cost integers, we get NP=P unless we start ruling out common instructions such as multiplication and shifts. 1.5 Historical developments ... |

20 | Static dictionaries on AC0 RAMs: Query time Yð ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffilog n=log log np Þ is necessary and sufficient
- Andersson, Miltersen, et al.
- 1996
(Show Context)
Citation Context ...the lower bound. (log log U)2 log log log U ). AC 0 RAM Another interesting open problem is to find the complexity for searching with standard, or even non-standard, AC 0 operations? Andersson et.al. =-=[3]-=-, have shown that even if we allow non-standard AC 0 operations, the exact complexity of membership queries is Θ( � log n/ log log n). This contrast the situation at the RAM, where we can get down to ... |

20 |
Equivalence between priority queues and sorting
- Thorup
(Show Context)
Citation Context ...og n)) and sorting in O(n(log log n)(log log log n)) time. However, exponential search trees are not used in Han’s recent deterministic O(n log log n) time sorting in linear space [22] or in Thorup’s =-=[32]-=- corresponding priority queue with O(log log n) update time. Since (1) cannot give bounds below O(log log n) per key, it seems that the role of exponential search trees is played out in the context of... |

19 |
Faster deterministic sorting and priority queues in linear space
- Thorup
- 1998
(Show Context)
Citation Context ...been applied in other contexts. Variants of exponential search trees have been instrumental in many of the previous strongest results on deterministic linear integer space sorting and priority queues =-=[2, 31, 5, 21]-=-. Here a priority queue is a dynamic set for which we maintain the minimum element. When first introduced by Andersson [2], they provided the then strongest time bounds of O( √ log n) for priority que... |

18 |
R.: A constant update time finger search tree
- Dietz, Raman
- 1994
(Show Context)
Citation Context ... pointer as the finger. The finger delete is just a regular delete as defined above, i.e. we are given a pointer to the key to be deleted. In the comparison-based model of computation Dietz and Raman =-=[14]-=- have provided optimal bounds, supporting finger searches in O(log q) time while supporting finger updates in constant time. Brodal et al. [9] managed to match these results on a pointer machine. In t... |

17 | Using difficulty of prediction to decrease computation: fast sort, priority queue and convex hull on entropy bounded inputs
- Chen, Reif
- 1993
(Show Context)
Citation Context ... in Corollary 21, with the same restructuring cost of O(log log n) per update. The only difference is that we change the search algorithm from the proof of Lemma 20. Applying an idea of Chen and Reif =-=[11]-=-, we replace the binary search for the longest matching (distinguishing) prefix by an exponential-and-binary search. Then, at each node in the exponential search tree, the search cost will decrease fr... |

16 | Fusion trees can be implemented with AC0 instructions only
- Andersson, Miltersen, et al.
- 1999
(Show Context)
Citation Context ...ft, and bit-wise Boolean operations are all AC 0 operations. On the other hand, multiplication is not. Fredman and Willard’s own techniques [18] were heavily based on multiplication, but, as shown in =-=[4]-=- they can be implemented with AC 0 operations if we allow some non-standard operations that are not part of the usual instruction set. However, as mentioned previously, here we only allow standard ope... |

14 | Bounded ordered dictionaries in O(log log n) time and O(n) space
- Mehlhorn, Naher
- 1990
(Show Context)
Citation Context ...log n/ log W, log log n · }). The last bound should be compared log log log U with van Emde Boas’ bound of O(log log U) [34, 35] that requires randomization (hashing) in order to achieve linear space =-=[26]-=-. 1.6 AC 0 operations As an additional challenge, Fredman and Willard [18] asked how quickly we can search on a RAM if all the computational instructions are AC 0 operations. A computational instructi... |

14 |
Space efficient dynamic stabbing with fast queries
- Thorup
- 2003
(Show Context)
Citation Context ...he second author [32] has recently used our Proposition 15 in a general reduction from priority queue to sorting, providing a priority queue whose update cost is the per key cost of sorting. Also, he =-=[33]-=- has recently used Theorem 8 in a space efficient solution to dynamic stabbing, i.e., the problem of maintaining a dynamic set of intervals where the query is to find an interval containing a given po... |

13 | Trans-dichotomous algorithms without multiplication - some upper and lower bounds
- Brodnik, Miltersen, et al.
- 1997
(Show Context)
Citation Context ...tic AC 0 dictionary with membership queries in time t, then in polynomial time and space, we can build a static search structure with operation time O(mini{it + log n/i}). In addition, Brodnik et.al. =-=[10]-=- have shown that such a static dictionary, using only standard AC 0 operations, can be built with membership queries in time t = O((log n) 1/2+o(1) ). We get the desired static search time by setting ... |

11 | K.: Optimal finger search trees in the pointer machine
- Brodal, Lagogiannis, et al.
- 2003
(Show Context)
Citation Context ...he comparison-based model of computation Dietz and Raman [14] have provided optimal bounds, supporting finger searches in O(log q) time while supporting finger updates in constant time. Brodal et al. =-=[9]-=- managed to match these results on a pointer machine. In this paper we present optimal bounds on the RAM; namely O( � log q/ log log q) for finger search with constant time finger updates. Also, we pr... |

8 |
Fast integer sorting in linear space
- Han
- 2002
(Show Context)
Citation Context ...been applied in other contexts. Variants of exponential search trees have been instrumental in many of the previous strongest results on deterministic linear integer space sorting and priority queues =-=[2, 31, 5, 21]-=-. Here a priority queue is a dynamic set for which we maintain the minimum element. When first introduced by Andersson [2], they provided the then strongest time bounds of O( √ log n) for priority que... |

6 |
Indexing for rapid random access memory systems
- Dumey
- 1956
(Show Context)
Citation Context ...cally ordered, we can apply classical non-comparison based techniques such as radix sort and hashing. Historically, radix sort dates back at least to 1929 [12] and hashing dates back at least to 1956 =-=[15]-=-, whereas the focus on general comparison based methods only date back to 1959 [16]. In this paper, we consider the above basic data types of integers and floating point numbers. Our main result is th... |

6 |
Planar point location in sublogarithmic time
- Pǎtra¸scu
- 2006
(Show Context)
Citation Context ...ture problem. This nicely highlights that the exponential search trees themselves are not restricted to integer domains. It just happens that our applications in this paper are for integers. Patrascu =-=[28]-=- has very recently used exponential search trees to get the first sublogarithmic query time for planar point location. Theorem 8 provides a general tool for maintaining balance in multiway trees. Thes... |

2 | Dynamic string searching - Andersson, Thorup - 2001 |

2 |
The hollerith and powers tabulating machines
- Comrie
(Show Context)
Citation Context ... such data types, represented as lexicographically ordered, we can apply classical non-comparison based techniques such as radix sort and hashing. Historically, radix sort dates back at least to 1929 =-=[12]-=- and hashing dates back at least to 1956 [15], whereas the focus on general comparison based methods only date back to 1959 [16]. In this paper, we consider the above basic data types of integers and ... |