An algorithm for merging heaps (Q797280)

From MaRDI portal





scientific article; zbMATH DE number 3868604
Language Label Description Also known as
default for all languages
No label defined
    English
    An algorithm for merging heaps
    scientific article; zbMATH DE number 3868604

      Statements

      An algorithm for merging heaps (English)
      0 references
      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