Cache-Oblivious Priority Queues with Decrease-Key and Applications to Graph Algorithms
Abstract
We present priority queues in the cache-oblivious external memory model with block size and main memory size that support on elements, operation \textsc{UPDATE} (combination of \textsc{INSERT} and \textsc{DECREASEKEY}) in amortized I/Os and operations \textsc{EXTRACT-MIN} and \textsc{DELETE} in amortized I/Os, using blocks, for a user-defined parameter and any real . Our result improves upon previous I/O-efficient cache-oblivious and cache-aware priority queues [Chowdhury and Ramachandran, TALG 2018], [Brodal et al., SWAT 2004], [Kumar and Schwabe, SPDP 1996], [Arge et al., SICOMP 2007], [Fadel et al., TCS 1999]. We also present buffered repository trees that support on a multi-set of elements, operation \textsc{INSERT} in I/Os and operation \textsc{EXTRACT} on extracted elements in amortized I/Os, using blocks, improving previous cache-aware and cache-oblivious results [Arge et al., SICOMP '07], [Buchsbaum et al., SODA '00]. In the cache-oblivious model, for , we achieve I/Os for single-source shortest paths, depth-first search and breadth-first search algorithms on massive directed dense graphs . Our algorithms are I/O-optimal for (and in the cache-aware setting for ).
Cite
@article{arxiv.1903.03147,
title = {Cache-Oblivious Priority Queues with Decrease-Key and Applications to Graph Algorithms},
author = {John Iacono and Riko Jacob and Konstantinos Tsakalidis},
journal= {arXiv preprint arXiv:1903.03147},
year = {2020}
}
Comments
A preliminary version of this work is published in ESA 2019