An algorithm for merging heaps (Q797280): Difference between revisions

From MaRDI portal
Added link to MaRDI item.
RedirectionBot (talk | contribs)
Removed claim: author (P16): Item:Q170449
Property / author
 
Property / author: Jörg-Rüdiger Sack / rank
Normal 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
    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

    Identifiers