Question: Consider the (partial) class PriorityQueue below. public class PriorityQueue { } private T[] item; private int numItems; public void PercolateUp (int i) { public

Consider the (partial) class PriorityQueue below. public class PriorityQueue { } private T[] item; private 

Consider the (partial) class PriorityQueue below. public class PriorityQueue { } private T[] item; private int numItems; public void PercolateUp (int i) { public T DeleteLowest () { ... } } Suppose that PriorityQueue is implemented as a binary heap where the root (the item with the highest priority) is stored at item [1]. a) (2 marks) The method Delete Lowest removes and returns the item with the lowest priority from the binary heap. Comment on which items in the binary heap are candidates for lowest priority. b) (10 marks) Complete the body of the method Delete Lowest. Suppose that type T has implemented the IComparable interface where CompareTo (T element) returns +1 if the current item has a higher priority than element; 0 if the current item has the same priority as element; and -1 if the current item has a lower priority than element. Note that although Delete Lowest may use PercolateUp, it is not necessary to implement the method PercolateUp itself. c) (2 marks) Using the "Big-Oh" notation, state the worst case time complexity of DeleteLowest in terms of the number of items (n) in the priority queue.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

a The items that are candidates for lowest priority are the leaves of ... View full answer

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 Programming Questions!