## A General Technique for Managing Strings in Comparison-Driven Data Structures

Citations: | 4 - 0 self |

### BibTeX

@MISC{Franceschini_ageneral,

author = {Gianni Franceschini and Roberto Grossi},

title = {A General Technique for Managing Strings in Comparison-Driven Data Structures},

year = {}

}

### OpenURL

### Abstract

Abstract. This paper presents a general technique for optimally transforming any dynamic data structure D that operates on atomic and indivisible keys by constant-time comparisons, into a data structure D ′ that handles unbounded-length keys whose comparison cost is not a constant. 1

### Citations

673 | Suffix Arrays: A New Method for Online String Searches
- Manber, Myers
- 1993
(Show Context)
Citation Context ...plications 3.1 Suffix sorting As previously mentioned, suffix sorting is very useful in compressing, with block sorting methods and Burrows-Wheeler transform, and in text indexing, with suffix arrays =-=[17]-=-. The problem is that of sorting lexicographically the suffixes of an input string s of length n. Let s1, s2, . . . , sn denote the suffixes of s, where si ≡ s[i . . n] corresponds to the ith suffix i... |

622 |
Data Structures and Network Algorithms
- Tarjan
- 1983
(Show Context)
Citation Context ...es stems from the lack of a general data structural transformation from indivisible (i.e., constant-time comparable) keys to strings. Many searching data structures, such as AVL-trees, redblack trees =-=[24]-=-, (a, b)-trees [15], weight-balanced BB[α]-trees [20], self-adjusting 1strees [23], and random search trees [22], etc., are currently available, with interesting combinatorial properties that make the... |

386 |
Self-adjusting binary search trees
- Sleator, Tarjan
- 1985
(Show Context)
Citation Context ...ment. The dynamic balancing of ternary search trees was investigated with lexicographic D-trees [18], multidimensional B-trees [13], lexicographic globally biased trees [5], lexicographic splay trees =-=[23]-=-, k-dimensional balanced binary search trees [11], and balanced binary search trees or kBB-trees [25]. Most of these data structures make use of sophisticated and tricky techniques to support search, ... |

342 |
Fast algorithms for finding nearest common ancestor
- Harel, Tarjan
- 1984
(Show Context)
Citation Context ...at reuses techniques for one-dimensional keys given, for example, in [19]. 3.2 Dynamic lowest common ancestor (lca) The lowest common ancestor problem for a tree is at the heart of several algorithms =-=[4, 14]-=-. We consider here the dynamic version in which insertions add new leaves as children to existing nodes and deletions remove leaves. The more general (and complicated) case of splitting an arc by inse... |

190 | The LCA problem revisited, in
- Bender, Farach-Colton
- 2000
(Show Context)
Citation Context ...ically a DSlcp list in constant time per operation (see Section 2.1 for the operations thus supported) by using a simple but key idea in a restricted dynamic version of the range minima query problem =-=[4]-=-. Note that otherwise would not be possible to achieve constant time per operation in the fully dynamic version of this problem as we can perform sorting with it. Using our general technique, we obtai... |

157 |
Two Algorithms for Maintaining Order in a List
- Dietz, Sleater
- 1987
(Show Context)
Citation Context ...e the underlying data structure D as a black box. We use simple properties of strings and introduce a powerful oracle for string comparisons that extends the functionalities of the Dietz-Sleator list =-=[10]-=-, which is able to maintain order information in a dynamic list (shortly, DS list). We call the resulting structure a DSlcp list, which stores the sorted input strings in O(n) space, and allows us to ... |

151 | Fast algorithms for sorting and searching strings
- Bentley, Sedgewick
- 1997
(Show Context)
Citation Context ...mplexity of the operations supported by the data structures. More efficient ad hoc data structures have been designed to tackle this drawback. A first version of lexicographic or ternary search trees =-=[6]-=- dates back to [7] and is alternative to tries. Each node contains the i-th symbol of a k-dimensional key along with three branching pointers (left, middle, and right) for the three possible compariso... |

97 | A new data structure for representing sorted lists
- Huddleston, Mehlhorn
- 1982
(Show Context)
Citation Context ...ack of a general data structural transformation from indivisible (i.e., constant-time comparable) keys to strings. Many searching data structures, such as AVL-trees, redblack trees [24], (a, b)-trees =-=[15]-=-, weight-balanced BB[α]-trees [20], self-adjusting 1strees [23], and random search trees [22], etc., are currently available, with interesting combinatorial properties that make them attractive both f... |

82 |
Binary search trees of bounded balance
- Nievergelt, Reingold
- 1973
(Show Context)
Citation Context ...ransformation from indivisible (i.e., constant-time comparable) keys to strings. Many searching data structures, such as AVL-trees, redblack trees [24], (a, b)-trees [15], weight-balanced BB[α]-trees =-=[20]-=-, self-adjusting 1strees [23], and random search trees [22], etc., are currently available, with interesting combinatorial properties that make them attractive both from the theoretical and from the p... |

63 | Two Simplified Algorithms for Maintaining Order in a List
- Bender, Cole, et al.
(Show Context)
Citation Context ...or that works for multidimensional keys, without relying on the well-known algorithm of Willard [26] to maintain order in a dense file (avoiding Willard’s for the amortized case has been suggested in =-=[3]-=-). When treating information that can be represented with O(log n) bits, we will make use of table lookups in O(1) time. The reader may verify that we also use basic ideas from previous work [2, 4, 14... |

50 | Biased search trees - Bent, Sleator, et al. - 1985 |

46 | Dynamic LCA queries on trees
- Cole, Hariharan
- 1999
(Show Context)
Citation Context ...rations involve adding/removing leaves. In previous work, this result has been obtained with a special data structure based upon a more sophisticated solution treating also insertions that split arcs =-=[8]-=-. We obtain a simple method for a restricted version of the problem. As a final remark for our technique, we do not claim that it is as amenable to implementation in a practical setting such as the te... |

32 |
A density control algorithm for doing insertions and deletions in a sequentially ordered in good worst-case time
- Willard
- 1992
(Show Context)
Citation Context ...ng the two levels in Section 4.3. The net result is a generalization of the structure of Dietz and Sleator that works for multidimensional keys, without relying on the well-known algorithm of Willard =-=[26]-=- to maintain order in a dense file (avoiding Willard’s for the amortized case has been suggested in [3]). When treating information that can be represented with O(log n) bits, we will make use of tabl... |

31 | Optimal external memory interval management
- Arge, Vitter
- 2003
(Show Context)
Citation Context ...ed in [3]). When treating information that can be represented with O(log n) bits, we will make use of table lookups in O(1) time. The reader may verify that we also use basic ideas from previous work =-=[2, 4, 14]-=-. 4.1 Main tree For the basic shape of the main tree we follow the approach of [2]. The main tree has m leaves, all on the same level (identified as level 0), each leaf containing one entry of our ran... |

17 | Improved algorithms for finding level ancestors in dynamic trees
- Alstrup, Holm
- 2000
(Show Context)
Citation Context ...r tour with a DSlcp list L in O(n) space (see Section 2.1), where n is the number of nodes (the strings are implicit and thus do not need to be stored). We also maintain the dynamic data structure in =-=[1]-=- to find the level ancestor of a node in constant time. Given any two nodes u and v, we compute lca(u, v) in constant time as follows. We first find d = lcp(su, sv) using L, where su and sv are the im... |

16 |
Dynamic binary search
- Mehlhorn
- 1979
(Show Context)
Citation Context ...pointers (left, middle, and right) for the three possible comparison outcomes [<, =, >] against that element. The dynamic balancing of ternary search trees was investigated with lexicographic D-trees =-=[18]-=-, multidimensional B-trees [13], lexicographic globally biased trees [5], lexicographic splay trees [23], k-dimensional balanced binary search trees [11], and balanced binary search trees or kBB-trees... |

16 |
Randomized search trees. Algorithmica
- Seidel, Aragon
- 1996
(Show Context)
Citation Context ...ble) keys to strings. Many searching data structures, such as AVL-trees, redblack trees [24], (a, b)-trees [15], weight-balanced BB[α]-trees [20], self-adjusting 1strees [23], and random search trees =-=[22]-=-, etc., are currently available, with interesting combinatorial properties that make them attractive both from the theoretical and from the practical point of view. They are defined on a set of indivi... |

14 |
Randomized Binary Searching with Tree Structures
- Clampett
- 1964
(Show Context)
Citation Context ...erations supported by the data structures. More efficient ad hoc data structures have been designed to tackle this drawback. A first version of lexicographic or ternary search trees [6] dates back to =-=[7]-=- and is alternative to tries. Each node contains the i-th symbol of a k-dimensional key along with three branching pointers (left, middle, and right) for the three possible comparison outcomes [<, =, ... |

9 | 2003: “The suffix binary search tree and suffix AVL tree
- Irving, Love
(Show Context)
Citation Context ...ible access paths are limited in number. Also, adding an internal link may create many access paths to a given node. Related techniques, although not as general as that in [12], have been explored in =-=[16, 21]-=- for specific data structures being extended to manage strings. In this paper, we go on one step ahead. We completely drop any topological knowledge of the underlying data structures and still obtain ... |

4 |
Multidimensional B-tree: An efficient dynamic file structure for exact match queries
- Gueting, Kriegel
- 1980
(Show Context)
Citation Context ...ht) for the three possible comparison outcomes [<, =, >] against that element. The dynamic balancing of ternary search trees was investigated with lexicographic D-trees [18], multidimensional B-trees =-=[13]-=-, lexicographic globally biased trees [5], lexicographic splay trees [23], k-dimensional balanced binary search trees [11], and balanced binary search trees or kBB-trees [25]. Most of these data struc... |

4 |
Data Structures and Algorithms: 1. Searching and Sorting
- Mehlhorn
- 1984
(Show Context)
Citation Context ...(F/n) � time, where 0 ≤ F ≤ n(n−1)/2 is the number of inversions. This new result is a simple consequence of our result, when applied to the techniques for one-dimensional keys given, for example, in =-=[19]-=-. Another example of use is that of storing implicitly the root-to-nodes paths in a tree as strings, so that we can support dynamic lowest common ancestor (lca) queries in constant time, where the upd... |

4 |
Digital access to comparison-based tree data structures and algorithms
- Roura
(Show Context)
Citation Context ...ible access paths are limited in number. Also, adding an internal link may create many access paths to a given node. Related techniques, although not as general as that in [12], have been explored in =-=[16, 21]-=- for specific data structures being extended to manage strings. In this paper, we go on one step ahead. We completely drop any topological knowledge of the underlying data structures and still obtain ... |

4 |
Multidimensional Balanced Binary Trees
- Vaishnavi
- 1989
(Show Context)
Citation Context ... multidimensional B-trees [13], lexicographic globally biased trees [5], lexicographic splay trees [23], k-dimensional balanced binary search trees [11], and balanced binary search trees or kBB-trees =-=[25]-=-. Most of these data structures make use of sophisticated and tricky techniques to support search, insert, and delete of a key of length k in O(k + log n) time [5, 11]. Some others support also split ... |

3 |
Search data structures for skewed strings
- Crescenzi, Grossi, et al.
- 2003
(Show Context)
Citation Context ...es of these solutions. A first step in reusing this body of knowledge and obtaining new data structures for managing strings has been presented theoretically in [12] and validated with experiments in =-=[9]-=-. It is based on the topology of the data structures by augmenting the nodes along the access paths to keys, each node with a pair of integers. By topology awareness, we mean that the designer must kn... |

3 |
The on-line d-dimensional dictionary problem
- Gonzalez
- 1992
(Show Context)
Citation Context ...es was investigated with lexicographic D-trees [18], multidimensional B-trees [13], lexicographic globally biased trees [5], lexicographic splay trees [23], k-dimensional balanced binary search trees =-=[11]-=-, and balanced binary search trees or kBB-trees [25]. Most of these data structures make use of sophisticated and tricky techniques to support search, insert, and delete of a key of length k in O(k + ... |

3 |
Efficient techniques for maintaining multidimensional keys in linked data structures (extended abstract
- Grossi, Italiano
- 1999
(Show Context)
Citation Context ...me cases or can they reuse the properties of these solutions. A first step in reusing this body of knowledge and obtaining new data structures for managing strings has been presented theoretically in =-=[12]-=- and validated with experiments in [9]. It is based on the topology of the data structures by augmenting the nodes along the access paths to keys, each node with a pair of integers. By topology awaren... |