Design a more efficient version of HeapVector that keeps its values in order only when necessary: When values are added, they are appended to the end of the existing heap and a nonHeap flag is set to true. When values are removed, the nonHeap flag is checked and the Vector is heapified if necessary. What are the worst-case and best-case running times of the add and remove operations?

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
Question

Design a more efficient version of HeapVector that keeps its values in order only when necessary: When values are added, they are appended to the end of the existing heap and a nonHeap flag is set to true. When values are removed, the nonHeap flag is checked and the Vector is heapified if necessary. What are the worst-case and best-case running times of the add and remove operations?

Expert Solution
steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Knowledge Booster
Heapsort
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning