An algorithm for merging heaps (Q797280): Difference between revisions
From MaRDI portal
Added link to MaRDI item. |
Removed claim: author (P16): Item:Q170449 |
||
Property / author | |||
Property / author: Jörg-Rüdiger Sack / rank | |||
Revision as of 09:15, 10 February 2024
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | An algorithm for merging heaps |
scientific article |
Statements
An algorithm for merging heaps (English)
0 references
1985
0 references
We present an algorithm to merge priority queues organized as heaps. The worst case number of comparisons required to merge two heaps of sizes k and n is \(O(\log(n)*\log(k)).\) The algorithm requires \(O(k+\log(n)*\log(k))\) data movements if heaps are implemented using arrays and \(O(\log(n)*\log(k))\) for a pointer-based implementation. Previous algorithms require either \(O(n+K)\) data movements and comparisons, or \(O(k*\log(\log(n+k)))\) comparisons and \(O(k*\log(n+k))\) data movements. The algorithm presented in this paper improves on the previous algorithms for the case when \(k>\log(n)\).
0 references
merging
0 references
priority queues
0 references
heaps
0 references