Question: In PQ, insert(ky) returns the reference to newly inserted entry. Let's say we want to change the key of the entry afterwards. That would be

 In PQ, insert(ky) returns the reference to newly inserted entry. Let's

In PQ, insert(ky) returns the reference to newly inserted entry. Let's say we want to change the key of the entry afterwards. That would be a new ADT called Adaptable Priority Queue. How can we implement this key change for an entry in O(logn) in array-based PQ implementation? For example, here is a heap (Note? represents the value associated with the key) 1,7 2.? 3? 7,2 5,2 6,7 Internal data structure is array. It will be 0 1 2 3 4 5 (1,7) (2,7) (3,7) (7.2) (5,?) (6,?) entry reference return by early insert Insert(k,v) returns the reference to newly inserted entry. Say want to change the key in the entry (2,?) to be (20,7). Obviously, the heap order needs to be checked and fixed by calling upheap or downheap. Recall upheap(index) and downheap(index) take index as argument. The question becomes how we can find out the index for the entry in O(logn) time? Hint: add more information to the entry. If we add more information to the entry, will that impact the downheap and upheap algorithm and in what way? In PQ, insert(ky) returns the reference to newly inserted entry. Let's say we want to change the key of the entry afterwards. That would be a new ADT called Adaptable Priority Queue. How can we implement this key change for an entry in O(logn) in array-based PQ implementation? For example, here is a heap (Note? represents the value associated with the key) 1,7 2.? 3? 7,2 5,2 6,7 Internal data structure is array. It will be 0 1 2 3 4 5 (1,7) (2,7) (3,7) (7.2) (5,?) (6,?) entry reference return by early insert Insert(k,v) returns the reference to newly inserted entry. Say want to change the key in the entry (2,?) to be (20,7). Obviously, the heap order needs to be checked and fixed by calling upheap or downheap. Recall upheap(index) and downheap(index) take index as argument. The question becomes how we can find out the index for the entry in O(logn) time? Hint: add more information to the entry. If we add more information to the entry, will that impact the downheap and upheap algorithm and in what way

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!