Results 1 -
2 of
2
Data Structural Bootstrapping, Linear Path Compression, and Catenable Heap Ordered Double Ended Queues
- SIAM Journal on Computing
, 1992
"... A deque with heap order is a linear list of elements with real-valued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general delet ..."
Abstract
-
Cited by 15 (7 self)
- Add to MetaCart
A deque with heap order is a linear list of elements with real-valued keys which allows insertions and deletions of elements at both ends of the list. It also allows the findmin (equivalently findmax) operation, which returns the element of least (greatest) key, but it does not allow a general deletemin (deletemax) operation. Such a data structure is also called a mindeque (maxdeque) . Whereas implementing mindeques in constant time per operation is a solved problem, catenating mindeques in sublogarithmic time has until now remained open. This paper provides an efficient implementation of catenable mindeques, yielding constant amortized time per operation. The important algorithmic technique employed is an idea which is best described as data structural bootstrapping: We abstract mindeques so that their elements represent other mindeques, effecting catenation while preserving heap order. The efficiency of the resulting data structure depends upon the complexity of a special case of pa...
Performance guarantees for B-trees . . .
, 2010
"... Most B-tree papers assume that all N keys have the same size K, that f = B/K keys fit in a disk block, and therefore that the search cost is O(log f+1 N) block transfers. When keys have variable size, however, B-tree operations have no nontrivial performance guarantees. This paper provides B-tree-li ..."
Abstract
- Add to MetaCart
Most B-tree papers assume that all N keys have the same size K, that f = B/K keys fit in a disk block, and therefore that the search cost is O(log f+1 N) block transfers. When keys have variable size, however, B-tree operations have no nontrivial performance guarantees. This paper provides B-tree-like performance guarantees on dictionaries that contain keys of different sizes in a model in which keys must be stored and compared as opaque objects. The resulting atomic-key dictionaries exhibit performance bounds in terms of the average key size and match the bounds when all keys are the same size. Atomic key dictionaries can be built with minimal modification to the B-tree structure, simply by choosing the pivot keys properly. This paper describes both static and dynamic atomic-key dictionaries. In the static case, if there are N keys with average size K, the search cost is O(⌈K/B ⌉ log 1+⌈B/K ⌉ N) expected transfers. The paper proves that it is not possible to transform these expected bounds into worst-case bounds. The cost to build the tree is O(NK) operations and O(NK/B) transfers if all keys are presented in sorted order. If not, the cost is the sorting cost. For the dynamic dictionaries, the amortized cost to insert a key κ of arbitrary length at an arbitrary rank is dominated by the cost to search for κ. Specifically the amortized cost to insert a key κ of arbitrary length and random rank is O(⌈K/B ⌉ log 1+⌈B/K ⌉ N + |κ | /B) transfers. A dynamicprogramming algorithm is shown for constructing a search tree with minimal expected cost.

