Question: 8: 1: function Func(A[],n) 2: P.Init() 3: for i=1 to n do 4: for j = 1 to [log3(n)] do 5: P.Insert(A[i] > A[j]) 6:
![8: 1: function Func(A[],n) 2: P.Init() 3: for i=1 to n](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/09/66f3a1d0774c1_70466f3a1d0016d0.jpg)
8: 1: function Func(A[],n) 2: P.Init() 3: for i=1 to n do 4: for j = 1 to [log3(n)] do 5: P.Insert(A[i] > A[j]) 6: end for 7: end for for i = 1 to [n] do 9: I = P.ExtractMax() 10: Print : 11: end for 12: end function P.Init() initializes the data structure P.Insert(r) inserts elements r into P. P.Extract Max() returns the maximum element of P and deletes it from P. P.Size() returns the number of elements in P. (a) Analyze the running time of the given algorithm assuming that P is implemented using a Max-Heap. Note that the time for P. Insert() and P. ExtractMax() are both dependent on the number of elements in P. which changes over the running time of the algorithm. Assume that P.Init() and P.Size() operations take constant time
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
