HEAPSORT( array A, int n)

1 BUILD-HEAP(A, n)

2 m n

3 while (m 2)

4 do SWAP(A[1],A[m])

5 m m− 1

6 HEAPIFY(A, 1,m)

Considering the pseudo code of Heap Sort discussed in lecture answer the following

questions (you need to justify your answers as well),

a. What will be the running time of Heap Sort if input is sorted in ascending

order

b. What will be the running time of Heap Sort if input is sorted in descending

order

c. What is best case input (format of input resulting in best case time) for Heap

Sort.