Harvard University Heaps Programming Worksheet


1 attachmentsSlide 1 of 1attachment_1attachment_1

Unformatted Attachment Preview

Question 5: Heaps
(a) Suppose that we would like to verify if the elements in array A satisfy the heap property, assuming
the usual heap implementation shown in class. Write the pseudo-code for a recursive algorithm called
VerifyHeap(A), which returns true if A is indeed a valid max-heap, and false otherwise. You may use the
attribute A.heapsize. Write the recurrence for the runtime of your algorithm, and justify the worst-case
runtime of O(n) and the best-case of O(1).
(b) A max-heap is contained in array A, using the implementation as shown in class. However, the
array contains an error, in that the entry at index k is empty. Instead of rebuilding the entire heap from
scratch, design an algorithm that repairs the heap. The result of your algorithm must contain a valid heap
in array A with a correct A.heapsize attribute. Write the pseudo-code for your algorithm, which must be
called Repair Heap(A,k). Justify the worst-case runtime of O(log n) and the best-case of O(1).
(c) At the 2020 Tokyo Olympics, there are n athletes competing in the 100m sprint. The organizers
have planned for exactly 5 heats, with each heat containing n/5 athletes. The finish times of each heat will
be stored in a min-heap: H1, H2, H3, H4, H5. For example, H1 is a min-heap containing the finish times
of the athletes from the first heat. Once the heats are complete, the organizers must determine the top 40
athletes who will continue to the quarter-finals. Design an algorithm that takes as input the five heaps,
and outputs the best 40 finish times, over all athletes, regardless of heat. Call your algorithm Top40(H1,
H2, H3, H4, H5) and provide the pseudo-code. Justify the runtime of O(log n).

Purchase answer to see full

Explanation & Answer:
1 Script




User generated content is uploaded by users for the purposes of learning and should be used following Studypool’s honor code & terms of service.

Looking for this assignment?

do my essay homework

Reviews, comments, and love from our customers and community

Article Writing

Great service so far. Keep doing what you do, I am really impressed by the work done.



PowerPoint Presentation

I am speechless…WoW! Thank you so much! Definitely, the writer is talented person. She provided me with an essay a day early before the due date!

Stacy V.

Part-time student

Dissertation & Thesis

This was a very well-written paper. Great work fast. I was in pretty desperate need for help to finish this paper before the due date, which was in nine hours.

M.H.H. Tony


Annotated Bibliography

I love working with this company. You always go above and beyond and exceed my expectations every time. Kate did a WONDERFUL job. I would highly recommend her.

Francisca N.


Book Report / Review

I received my order wayyyyyyy sooner than I expected. Couldn’t ask for more. Very good at communicating & fast at replying. And change & corrections she put in the effort to go back and change it!

Mary J.


Essay (Any Type)

On time, perfect paper. All concerns & matters I had Tom was able to answer them! I will definitely provide him with more orders!

Prof. Kate (Ph.D)


Case Study

Awesome! Great papers, and early! Thank you so much once again! Definitely recommend to trust James with your assignments! He won’t disappoint!

Kaylin Green


Proofreading & Editing

Thank you Dr. Rebecca for editing my essays! She completed my task literally in 3 hours. For sure will work with her again, she is great and follows all instructions

Rebecca L.


Critical Thinking / Review

Extremely thorough summary, understanding and examples found for social science readings, with edits made as needed and on time. It’s like having a tutoring service available (:

Arnold W.



Perfect!I only paid about $80, which i think was a good price considering what my paper entailed. My paper was done early and it was well written!

Joshua W.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>