Open Access
Worst-Case Efficient External-Memory Priority Queues
Gerth Stølting Brodal,Jyrki Katajainen +1 more
- 01 Jan 1998
- pp 107-118
35
TL;DR: In this paper, the authors present a data structure that handles any intermixed sequence of Insert and DeleteMin operations such that in every disjoint interval of B consecutive priorityqueue operations at most clogM/B N/M I/Os are performed, for some positive constant c. The best earlier solutions can only handle a sequence of S operations with O(σ i=1 S 1/B log M/B Ni/M) I/O, where N i denotes the number of elements stored in the data structure prior to the ith operation, without
read more
Abstract: A priority queue Q is a data structure that maintains a collection of elements, each element having an associated priority drawn from a totally ordered universe, under the operations Insert, which inserts an element into Q, and DeleteMin, which deletes an element with the minimum priority from Q. In this paper a priority-queue implementation is given which is efficient with respect to the number of block transfers or I/Os performed between the internal and external memories of a computer. Let B and M denote the respective capacity of a block and the internal memory measured in elements. The developed data structure handles any intermixed sequence of Insert and DeleteMin operations such that in every disjoint interval of B consecutive priorityqueue operations at most clogM/B N/M I/Os are performed, for some positive constant c. These I/Os are divided evenly among the operations: if B ≥ clogM/B N/M, one I/O is necessary for every B/(clogM/B N/M)th operation and if B < clogM/B N/M, c/B log M/B N/M I/Os are performed per every operation. Moreover, every operation requires O(log2 N) comparisons in the worst case. The best earlier solutions can only handle a sequence of S operations with O(σ i=1 S 1/B log M/B Ni/M) I/Os, where N i denotes the number of elements stored in the data structure prior to the ith operation, without giving any guarantee for the performance of the individual operations.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
External memory algorithms and data structures: dealing with massive data
TL;DR: The state of the art in the design and analysis of external memory algorithms and data structures, where the goal is to exploit locality in order to reduce the I/O costs is surveyed.
789
The Buffer Tree: A Technique for Designing Batched External Data Structures
TL;DR: A technique for designing external memory data structures that support batched operations I/ O efficiently is presented and it is shown how the technique can be used to develop external versions of a search tree, a priority queue, and a segment tree.
209
Cache-oblivious priority queue and graph algorithm applications
Lars Arge,Michael A. Bender,Erik D. Demaine,Bryan Holland-Minkley,J. Ian Munro +4 more
- 19 May 2002
TL;DR: An optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in amortized memory transfers, which match the bounds of several previously developed external-memory (cache-aware)priority queue data structures.
Efficient Flow Computation on Massive Grid Terrain Datasets
Lars Arge,Jeffrey S. Chase,Patrick N. Halpin,Laura Toma,Jeffrey Scott Vitter,Dean L. Urban,Rajiv Wickremesinghe +6 more
TL;DR: Efficient algorithms for flow routing on massive grid terrain datasets are presented, extending previous work on flow accumulation in the framework of external memory algorithms and use I/O-techniques to achieve efficiency.
123
References
External memory algorithms and data structures: dealing with massive data
TL;DR: The state of the art in the design and analysis of external memory algorithms and data structures, where the goal is to exploit locality in order to reduce the I/O costs is surveyed.
789
The Buffer Tree: A Technique for Designing Batched External Data Structures
TL;DR: A technique for designing external memory data structures that support batched operations I/ O efficiently is presented and it is shown how the technique can be used to develop external versions of a search tree, a priority queue, and a segment tree.
209
Cache-oblivious priority queue and graph algorithm applications
Lars Arge,Michael A. Bender,Erik D. Demaine,Bryan Holland-Minkley,J. Ian Munro +4 more
- 19 May 2002
TL;DR: An optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in amortized memory transfers, which match the bounds of several previously developed external-memory (cache-aware)priority queue data structures.
Efficient Flow Computation on Massive Grid Terrain Datasets
Lars Arge,Jeffrey S. Chase,Patrick N. Halpin,Laura Toma,Jeffrey Scott Vitter,Dean L. Urban,Rajiv Wickremesinghe +6 more
TL;DR: Efficient algorithms for flow routing on massive grid terrain datasets are presented, extending previous work on flow accumulation in the framework of external memory algorithms and use I/O-techniques to achieve efficiency.
123
Related Papers (5)
Xiaocheng Hu,Miao Qiao,Yufei Tao +2 more
- 18 Jun 2014
Maria Cristina Pinotti,Geppino Pucci +1 more
- 08 Jul 1992