In-place heap construction with optimized comparisons, moves, and cache misses

Jingsen Chen, Stefan Edelkamp, Amr Ahmed Abd Elmoneim Elmasry, Jyrki Katajainen

6 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationMathematical Foundations of Computer Science 2012 : 37th International Symposium, MFCS 2012, Bratislava, Slovakia, August 27-31, 2012. Proceedings
EditorsBranislav Rovan, Vladimiro Sassone, Peter Widmayer
Number of pages12
PublisherSpringer
Publication date2012
Pages259-270
ISBN (Print)978-3-642-32588-5
ISBN (Electronic)978-3-642-32589-2
DOIs
Publication statusPublished - 2012
Event37th International Symposium on Mathematical Foundations of Computer Science - Bratislava, Slovakia
Duration: 27 Aug 201231 Aug 2012
Conference number: 37

Conference

Conference37th International Symposium on Mathematical Foundations of Computer Science
Number37
Country/TerritorySlovakia
CityBratislava
Period27/08/201231/08/2012
SeriesLecture notes in computer science
Volume7464
ISSN0302-9743

Fingerprint

Dive into the research topics of 'In-place heap construction with optimized comparisons, moves, and cache misses'. Together they form a unique fingerprint.

Cite this