Priority queues with decreasing keys

被引:0
|
作者
Brodal, Gerth Stolting [1 ]
机构
[1] Aarhus Univ, Dept Comp Sci, Aabogade 34, DK-8200 Aarhus, Denmark
关键词
Priority queue; Decreasing keys; Post-order heap; Dijkstra's algorithm; FIBONACCI HEAPS;
D O I
10.1016/j.tcs.2024.114563
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
A priority queue stores a multiset of items, each item being a (key, value) pair, and supports the insertion of a new item and extraction of an item with minimum key. In applications like Dijkstra's single source shortest path algorithm and Prim-Jarn & iacute;k's minimum spanning tree algorithm, the key of an item can decrease over time. Usually this is handled by either using a priority queue supporting the deletion of an arbitrary item or a dedicated Decrease Key operation, or by inserting the same item multiple times but with decreasing keys. In this paper we study what happens if the keys associated with the items in a priority queue can decrease over time without informing the priority queue, and how such a priority queue can be used in Dijkstra's algorithm. We show that binary heaps with bottom-up insertions fail to report items with unchanged keys in correct order, while binary heaps with top-down insertions report items with unchanged keys in correct order. Furthermore, we show that skew heaps, leftist heaps, and priority queues based on linking the roots of heap-ordered trees, like pairing heaps, binomial queues and Fibonacci heaps, work correctly with decreasing keys without any modifications. Finally, we show that the post-order heap by Harvey and Zatloukal, a variant of a binary heap with amortized constant time insertions and amortized logarithmic time deletions, works correctly with decreasing keys and is a strong contender for an implicit priority queue supporting decreasing keys in practice.
引用
收藏
页数:14
相关论文
共 50 条
  • [1] Priority Queues with Decreasing Keys
    Brodal, Gerth Stølting
    Leibniz International Proceedings in Informatics, LIPIcs, 2022, 226
  • [2] Priority queues
    Keister, P
    DR DOBBS JOURNAL, 2002, 27 (03): : 10 - 10
  • [3] On priority queues with priority jumps
    Maertens, Tom
    Walraevens, Joris
    Bruneel, Herwig
    PERFORMANCE EVALUATION, 2006, 63 (12) : 1235 - 1252
  • [4] On RAM priority queues
    Thorup, M
    PROCEEDINGS OF THE SEVENTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 1996, : 59 - 67
  • [5] On ram priority queues
    Thorup, M
    SIAM JOURNAL ON COMPUTING, 2000, 30 (01) : 86 - 109
  • [6] Priority queues and the STL
    Nelson, MR
    DR DOBBS JOURNAL, 1996, 21 (01): : 18 - &
  • [7] Multipartite Priority Queues
    Elmasry, Amr
    Jensen, Claus
    Katajainen, Jyrki
    ACM TRANSACTIONS ON ALGORITHMS, 2008, 5 (01)
  • [8] PRIORITY QUEUES.
    Holub, Allen
    Dr. Dobb's journal of software tools for the professional programmer, 1987, 12 (06): : 92 - 110
  • [9] PREEMPTIVE PRIORITY QUEUES
    CHANG, W
    OPERATIONS RESEARCH, 1965, 13 (05) : 820 - &
  • [10] Melding Priority Queues
    Mendelson, Ran
    Tarjan, Robert E.
    Thorup, Mikkel
    Zwick, Uri
    ACM TRANSACTIONS ON ALGORITHMS, 2006, 2 (04)