Skip lists: a probabilistic alternative to balanced trees
Communications of the ACM
Journal of the ACM (JACM)
Adaptive set intersections, unions, and differences
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Design of data structures for mergeable trees
SODA '06 Proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithm
Pattern matching in lempel-Ziv compressed strings: fast, simple, and deterministic
ESA'11 Proceedings of the 19th European conference on Algorithms
ISAAC'11 Proceedings of the 22nd international conference on Algorithms and Computation
Hi-index | 0.00 |
A data structure is presented for the Mergeable Dictionary abstract data type, which supports the operations Predecessor-Search, Split, and Merge on a collection of disjoint sets of totally ordered data. While in a typical mergeable dictionary (e.g. 2-4 Trees), the Merge operation can only be performed on sets that span disjoint intervals in keyspace, the structure here has no such limitation. A data structure which can handle arbitrary Merge operations in O(log n) amortized time in the absence of Split operations was presented by Brown and Tarjan [2]. A data structure which can handle both Split and Merge operations in O(log2 n) amortized time was presented by Farach and Thorup [4]. In contrast, our data structure supports all operations, including Split and Merge, in O(log n) amortized time, thus showing that interleaved Merge operations can be supported at no additional cost vis-à-vis disjoint Merge operations.