Advertisement

Cascade Heap: Towards Time-Optimal Extractions

  • Maxim Babenko
  • Ignat KolesnichenkoEmail author
  • Ivan Smirnov
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10304)

Abstract

Heaps are well-studied fundamental data structures, having myriads of applications, both theoretical and practical.

We consider the problem of designing a heap with an “optimal” extract-min operation. Assuming an arbitrary linear ordering of keys, a heap with n elements typically takes \(O(\log n)\) time to extract the minimum. Extracting all elements faster is impossible as this would violate the \(\varOmega (n \log n)\) bound for comparison-based sorting. It is known, however, that is takes only \(O(n + k \log k)\) time to sort just k smallest elements out of n given, which prompts that there might be a faster heap, whose extract-min performance depends on the number of elements extracted so far.

In this paper we show that is indeed the case. We present a version of heap that performs insert in O(1) time and takes only \(O(\log ^* n + \log k)\) time to carry out the k-th extraction (where \(\log ^*\) denotes the iterated logarithm). All the above bounds are worst-case.

Keywords

Iterate Logarithm Regular State Complete Binary Tree Insertion State Binary Heap 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  2. 2.
    Williams, J.W.J.: Heapsort. Commun. ACM 7, 347–348 (1964)Google Scholar
  3. 3.
    Fredman, M.L., Tarjan, R.E.: Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34(3), 596–615 (1987)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Brodal, G.S.: Worst-case efficient priority queues. In: Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1996), pp. 52–58, Philadelphia, PA, USA. Society for Industrial and Applied Mathematics (1996)Google Scholar
  5. 5.
    van Emde Boas, P.: Preserving order in a forest in less than logarithmic time. In: Proceedings of the 16th Annual Symposium on Foundations of Computer Science (SFCS 1975), pp. 75–84, Washington, DC, USA. IEEE Computer Society (1975)Google Scholar
  6. 6.
    Thorup, M.: On ram priority queues. SIAM J. Comput. 30(1), 86–109 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Blum, M., Floyd, R.W., Pratt, V., Rivest, R.L., Tarjan, R.E.: Time bounds for selection. J. Comput. Syst. Sci. 7(4), 448–461 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Navarro, G., Paredes, R.: On sorting, heaps, and minimum spanning trees. Algorithmica 57(4), 585–620 (2010)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Maxim Babenko
    • 1
    • 2
  • Ignat Kolesnichenko
    • 2
    • 3
    Email author
  • Ivan Smirnov
    • 3
  1. 1.National Research University Higher School of EconomicsMoscowRussia
  2. 2.Yandex LLCMoscowRussia
  3. 3.Moscow Institute of Physics and TechnologyMoscowRussia

Personalised recommendations