A priority queue is a fundamental data structure that maintains a dynamic set of (key, priority)-pairs and supports Insert, Delete, ExtractMin and DecreaseKey operations. In the external memory model, the current best priority queue supports each operation in amortized O(B1 logNB ) I/Os. If the DecreaseKey operation does not need to be supported, one can design a more efficient data structure that supports the Insert, Delete and ExtractMin operations in O(B1 logNB /logMB ) I/Os. A recent result shows that a degradation in performance is inevitable by proving a lower bound of Ω(B1 log B/log log N) I/Os for priority queues with DecreaseKeys. In this paper we tighten the gap between the lower bound and the upper bound by proposing a new priority queue which supports the DecreaseKey operation and has an expected amortized I/O complexity of O(B1 logNB /log log N). Our result improves the external memory priority queue with DecreaseKeys for the first time in over a decade, and also gives the fastest external memory single source shortest path algorithm.
CITATION STYLE
Jiang, S., & Larsen, K. G. (2019). A faster external memory priority queue with decreasekeys. In Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 1331–1343). Association for Computing Machinery. https://doi.org/10.1137/1.9781611975482.81
Mendeley helps you to discover research relevant for your work.