1998
DOI: 10.1007/bfb0054359
|View full text |Cite
|
Sign up to set email alerts
|

Worst-case efficient external-memory priority queues

Abstract: One of the biggest open problems in external memory data structures is the priority queue problem with DecreaseKey operations. If only Insert and ExtractMin operations need to be supported, one can design a comparison-based priority queue performing O((N/B) lg M/B N) I/Os over a sequence of N operations, where B is the disk block size in number of words and M is the main memory size in number of words. This matches the lower bound for comparison-based sorting and is hence optimal for comparison-based priority … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
94
0

Year Published

1998
1998
2014
2014

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 68 publications
(94 citation statements)
references
References 16 publications
0
94
0
Order By: Relevance
“…After Dijkstra's result, most subsequent theoretical developments in SSSP for general graphs have focused on improving the performance of the priority queue: Applying William's heap [69] results in a running time of O(m · log n). Taking Fibonacci heaps [22] or similar data structures [4,17,64], Dijkstra's algorithm can be implemented to run in O(n · log n + m) time. In fact, if one sticks to Dijkstra's method, thus considering the nodes in nondecreasing order of distances, then O(n · log n + m) is even the best possible time bound for the comparisonaddition model: any o(n · log n)-time algorithm would contradict the Ω(n · log n)-time lower-bound for comparison-based sorting.…”
Section: Sequential Label-setting Algorithmsmentioning
confidence: 99%
See 1 more Smart Citation
“…After Dijkstra's result, most subsequent theoretical developments in SSSP for general graphs have focused on improving the performance of the priority queue: Applying William's heap [69] results in a running time of O(m · log n). Taking Fibonacci heaps [22] or similar data structures [4,17,64], Dijkstra's algorithm can be implemented to run in O(n · log n + m) time. In fact, if one sticks to Dijkstra's method, thus considering the nodes in nondecreasing order of distances, then O(n · log n + m) is even the best possible time bound for the comparisonaddition model: any o(n · log n)-time algorithm would contradict the Ω(n · log n)-time lower-bound for comparison-based sorting.…”
Section: Sequential Label-setting Algorithmsmentioning
confidence: 99%
“…If not, then the algorithms scan all nodes contained in B cur simultaneously; 4 we will denote this operation by SCAN_ALL(B cur ). We call this step of the algorithm regular node scanning.…”
Section: The Common Frameworkmentioning
confidence: 99%
“…There are many priority queue constructions that achieve this lower bound, such as the buffer tree [2], M/B-ary heaps [5], and array heaps [4]. See the survey [12] for more details.…”
Section: Related Workmentioning
confidence: 99%
“…Note that if the key of an element to be updated is known (and assuming without loss of generality that all keys are distinct), the update can be performed in O((log m n)/B) I/Os using a deletion and an insertion. Other external priority queues are designed in [22] and [23].…”
Section: External Priority Queuementioning
confidence: 99%