Abstract
We develop an optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and delete-min operations in O(1/B log M/B N/B) amortized memory transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache-oblivious data structure, M and B are not used in the description of the structure. Our structure is as efficient as several previously developed external memory (cacheaware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known external memory graph algorithms, and using our cache-oblivious priority queue we develop several cache-oblivious graph algorithms.
| Original language | English |
|---|---|
| Pages (from-to) | 1672-1695 |
| Number of pages | 24 |
| Journal | SIAM Journal on Computing |
| Volume | 36 |
| Issue number | 6 |
| DOIs | |
| State | Published - 2007 |
Keywords
- Cache-oblivious algorithms
- Priority queue
Fingerprint
Dive into the research topics of 'An optimal cache-oblivious priority queue and its application to graph algorithms'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver