## Rank-Sensitive Priority Queues

### BibTeX

@MISC{Dean_rank-sensitivepriority,

author = {Brian C. Dean and Zachary H. Jones},

title = {Rank-Sensitive Priority Queues},

year = {}

}

### OpenURL

### Abstract

Abstract. We introduce the rank-sensitive priority queue — a data structure that always knows the minimum element it contains, for which insertion and deletion take O(log(n/r)) time, with n being the number of elements in the structure, and r being the rank of the element being inserted or deleted (r = 1 for the minimum, r = n for the maximum). We show how several elegant implementations of rank-sensitive priority queues can be obtained by applying novel modifications to treaps and amortized balanced binary search trees, and we show that in the comparison model, the bounds above are essentially the best possible. Finally, we conclude with a case study on the use of rank-sensitive priority queues for shortest path computation. 1

### Citations

8530 |
Introduction to Algorithms
- Cormen, Leiserson, et al.
- 1990
(Show Context)
Citation Context ...rmed during insertion). Since Er[log(n/r)] = O(1), we note that one can build an h-treap on n elements in O(n) expected time by inserting them sequentially in random order. 3 An Amortized Approach In =-=[7]-=- (problem 18-3), a simple and elegant BST balancing technique of G. Varghese is described that allows for the insert and delete operations both run in O(log n) amortized time. In this section, we buil... |

371 |
Self-adjusting binary search trees
- Sleator, Tarjan
- 1985
(Show Context)
Citation Context ...s this possibility with a discussion of computational results of using rank-sensitive priority queues in shortest path computation. Several works related to ours appear in the literature. Splay trees =-=[12]-=- and the unified structure [3] satisfy the static and dynamic finger theorems (see [6, 5]), which (if we use the minimum element as a finger) give us amortized bounds of O(log r) for insertion or dele... |

142 | Shortest path algorithms: Theory and experimental evaluation
- Cherkassky, Goldberg, et al.
- 1996
(Show Context)
Citation Context ...-chosen element, rather than by finding the median deterministically. Implementations of Dijkstra’s algorithm using a binary heap and Fibonacci heap were obtained from the widely-used “splib” library =-=[4]-=-, and inputs and random network generators were obtained from the DIMACS shortest path implementation challenge. All computational experiments were run on a 1GHz Opteron processor with 4GB memory.Fig... |

136 | Randomized search trees
- Seidel, Aragon
- 1996
(Show Context)
Citation Context ...treap: a heap-ordered n-element binary tree augmented with an unordered array of pointers to the n + 1 empty “NULL” spaces at the bottom of the tree. The structure above is closely related to a treap =-=[2]-=-, a hybrid between a binary search tree (BST) and heap in which every node in a binary tree stores two keys: a “BST” key, and a heap key. The structure satisfies the BST property with respect to the B... |

103 | Tarjan, Faster algorithms for the shortest path problem
- Ahuja, Mehlhorn, et al.
- 1990
(Show Context)
Citation Context ...or it using previously-generated credit invested in our potential function. It is worth noting the similarity between the amortized rank-sensitive priority queue above and the well-studied radix heap =-=[1]-=-. Radix heaps are RAM data structures that store integer-valued keys in a fixed known range, but their operation is quite similar to our amortized structure above — they also leave right subtrees unbu... |

45 | On the dynamic finger conjecture for splay trees. Part 1: Splay sorting log n-block sequences
- Cole, Mishra, et al.
(Show Context)
Citation Context ...riority queues in shortest path computation. Several works related to ours appear in the literature. Splay trees [12] and the unified structure [3] satisfy the static and dynamic finger theorems (see =-=[6, 5]-=-), which (if we use the minimum element as a finger) give us amortized bounds of O(log r) for insertion or deletion of a rank-r element. This is indeed a form of rank sensitivity, but it is significan... |

19 |
Scapegoat trees
- Galperin, Rivest
- 1993
(Show Context)
Citation Context ...aches a specific threshold. In fact, one might wish to think of our structure as a natural comparison-based analog of the radix heap. Another related structure worth considering is the scapegoat tree =-=[9]-=-, a more sophisticated variant of the amortized balanced BST above that manages to avoid storing any augmented information while still achieving O(log n) height at all times. Since scapegoat trees are... |

12 | A unified access bound on comparison-based dynamic dictionaries
- Bădoiu, Cole, et al.
(Show Context)
Citation Context ...ssion of computational results of using rank-sensitive priority queues in shortest path computation. Several works related to ours appear in the literature. Splay trees [12] and the unified structure =-=[3]-=- satisfy the static and dynamic finger theorems (see [6, 5]), which (if we use the minimum element as a finger) give us amortized bounds of O(log r) for insertion or deletion of a rank-r element. This... |

11 | Fishspear: A priority queue algorithm
- Fischer, Paterson
- 1994
(Show Context)
Citation Context ...log n) for nearly all the elements in a structure, while O(log(n/r)) evaluates to O(1) for nearly all the elements. A similar bound is obtained by the Fishspear priority queue of Fisher and Patterson =-=[8]-=-, where the running time for inserting and deleting element x is bounded by O(log m(x)), with m(x) giving the maximum rank of x over its lifetime in the structure. Iacono’s queap data structures [11] ... |

9 | Expected performance of Dijkstra’s shortest path algorithm
- Goldberg, Tarjan
- 1996
(Show Context)
Citation Context ...nd Tarjan have shown that Dijkstra’s algorithm only performs O(n log n) decreasekey operations with high probability if edge lengths are independently generated from the same probability distribution =-=[10]-=-. We conclude from our studies that a rank-sensitive priority queue is a respectable data structure to use for shortest path computation, but most likely not the fastest choice available in practice. ... |