A Framework for Speeding Up Priority-Queue Operations
نویسندگان
چکیده
We introduce a framework for reducing the number of element comparisons performed in priority-queue operations. In particular, we give a priority queue which guarantees the worst-case cost of O(1) per minimum finding and insertion, and the worst-case cost of O(log n) with at most log n+O(1) element comparisons per minimum deletion and deletion, improving the bound of 2 logn+ O(1) on the number of element comparisons known for binomial queues. Here, n denotes the number of elements stored in the data structure prior to the operation in question, and log n equals max {1, log 2 n}. We also give a priority queue that provides, in addition to the above-mentioned methods, the priority-decrease (or decrease-key) method. This priority queue achieves the worst-case cost of O(1) per minimum finding, insertion, and priority decrease; and the worst-case cost of O(log n) with at most log n+O(log log n) element comparisons per minimum deletion and deletion. CR Classification. E.1 [Data Structures]: Lists, stacks, and queues; E.2 [Data Storage Representations]: Linked representations; F.2.2 [Analysis of Algorithms and Problem Complexity]: sorting and searching
منابع مشابه
Theoretical and practical efficiency of priority queues
This is a study of the theoretical and practical efficiency of priority queues. The priority queue is an old and well studied data structure on which a great deal of theoretical and practical work has already been done. A priority queue can be realised in many ways, some of the most commonly used data structures for this are binary heaps and binomial queues. In this thesis the efficiency of pri...
متن کاملLayered Heaps
We introduce a framework for reducing the number of comparisons performed in the deletion and minimum deletion operations for priority queues. In particular, we give a priority queue with constant cost per insertion and minimum finding, and logarithmic cost with at most logn + O(log logn) 1 comparisons per deletion and minimum deletion, improving over the bound of 2 logn + O(1) comparisons for ...
متن کاملSimple optimization techniques for A*-based search
In this paper, we present two simple optimizations that can reduce the number of priority queue operations for A* and its extensions. Basically, when the optimized search algorithms expand a state, they check whether they will expand a successor of the state next. If so, they do not first insert it into the priority queue and then immediately remove it again. These changes might appear to be tr...
متن کاملThe Adaptive Priority Queue with Elimination and Combining
Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for parallelism of the add() operations. In addition, methods such as Flat Combining have been proposed to reduce contention, batching together multiple operations to be...
متن کاملA Survey on Parallel Algorithms for Priority Queue Operations
Parallel Priority Queue (PPQ) data structure supports parallel operations for manipulating data items with keys, such as inserting n new items, deleting n items with the smallest keys, creating a new PPQ that contains a set of items, and melding tow PPQ into one. In this article, we present some recent research works on PPQ which support the simultaneous operations of the k smallest elements, k...
متن کامل