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 B and main memory size M that support on N elements, operation UPDATE (combination of INSERT and DECREASEKEY) in O (1BλB NB) amortized I/Os and operations EXTRACT-MIN and DELETE in O ( λB λB NB λB NB) amortized I/Os, using O (NBλB NB) blocks, for a user-defined parameter λ ∈ [2, N ] and any real ∈ (0,1). 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 N elements, operation INSERT in O (1BλB NB) I/Os and operation EXTRACT on K extracted elements in O (λB λB NB + KB) amortized I/Os, using O (NB) 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 λ = O (E/V), we achieve O (EBEV B EB) I/Os for single-source shortest paths, depth-first search and breadth-first search algorithms on massive directed dense graphs (V,E). Our algorithms are I/O-optimal for E/V = (M) (and in the cache-aware setting for λ = O(M)).

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…