Can both insert and findMin be implemented in constant time?
Read moreTextbook Solutions for Data Structures and Algorithm Analysis in Java
Question
Suppose that binary heaps are represented using explicit links. Consider the problemof merging binary heap lhs with rhs. Assume both heaps are perfect binarytrees, containing 2l 1 and 2r 1 nodes, respectively.a. Give an O(logN) algorithm to merge the two heaps if l = r.b. Give an O(logN) algorithm to merge the two heaps if |l r| = 1.c. Give an O(log2 N) algorithm to merge the two heaps regardless of l and r.
Solution
The first step in solving 6 problem number 17 trying to solve the problem we have to refer to the textbook question: Suppose that binary heaps are represented using explicit links. Consider the problemof merging binary heap lhs with rhs. Assume both heaps are perfect binarytrees, containing 2l 1 and 2r 1 nodes, respectively.a. Give an O(logN) algorithm to merge the two heaps if l = r.b. Give an O(logN) algorithm to merge the two heaps if |l r| = 1.c. Give an O(log2 N) algorithm to merge the two heaps regardless of l and r.
From the textbook chapter Priority Queues (Heaps) you will find a few key concepts needed to solve this.
Visible to paid subscribers only
Step 3 of 7)Visible to paid subscribers only
full solution