An algorithm for merging heaps (Q797280): Difference between revisions
From MaRDI portal
Changed an Item |
Set profile property. |
||
Property / MaRDI profile type | |||
Property / MaRDI profile type: MaRDI publication profile / rank | |||
Normal rank |
Revision as of 01:15, 5 March 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