Abstract
We show how to build a binary heap in-place in linear time by performing ~ 1.625n element comparisons, at most ~ 2.125n element moves, and ~ n/B cache misses, where n is the size of the input array, B the capacity of the cache line, and ~ f(n) approaches f(n) as n grows. The same bound for element comparisons was derived and conjectured to be optimal by Gonnet and Munro; however, their procedure requires Θ(n) pointers and does not have optimal cache behaviour. Our main idea is to mimic the Gonnet-Munro algorithm by converting a navigation pile into a binary heap. To construct a binary heap in-place, we use this algorithm to build bottom heaps of size and adjust the heap order at the upper levels using Floyd's sift-down procedure. On another frontier, we compare different heap-construction alternatives in practice.
Originalsprog | Engelsk |
---|---|
Titel | Mathematical Foundations of Computer Science 2012 : 37th International Symposium, MFCS 2012, Bratislava, Slovakia, August 27-31, 2012. Proceedings |
Redaktører | Branislav Rovan, Vladimiro Sassone, Peter Widmayer |
Antal sider | 12 |
Forlag | Springer |
Publikationsdato | 2012 |
Sider | 259-270 |
ISBN (Trykt) | 978-3-642-32588-5 |
ISBN (Elektronisk) | 978-3-642-32589-2 |
DOI | |
Status | Udgivet - 2012 |
Begivenhed | 37th International Symposium on Mathematical Foundations of Computer Science - Bratislava, Slovakiet Varighed: 27 aug. 2012 → 31 aug. 2012 Konferencens nummer: 37 |
Konference
Konference | 37th International Symposium on Mathematical Foundations of Computer Science |
---|---|
Nummer | 37 |
Land/Område | Slovakiet |
By | Bratislava |
Periode | 27/08/2012 → 31/08/2012 |
Navn | Lecture notes in computer science |
---|---|
Vol/bind | 7464 |
ISSN | 0302-9743 |