Why space complexity of heapsort is O(1)....and why not O(logn)..because of space required by recursion calls which is equivalent to height of the tree...where am i getting wrong plz help...

HEAP SORT uses MAX_HEAPIFY function which calls itself but it can be made using a simple while loop and thus making it an iterative function which inturn takes no space and hence Space Complexity of HEAP SORT can be reduced to O(1).

while ( i < = heapsize) {
lc <- left(i)
rc <- right(i)
if (lc<=heapsize) and (A[lc]>A[i])
largest <- lc
else
largest <- i
if (rc<=heapsize) and (A[rc]>A[largest])
largest <- rc
if (largest != i)
{
exchange A[i] <-> A[largest]
i <- largest
}
else
break
}

very nice question. i have the same doubt.. It should be log n because every time we are calling heapify on the root of tree? experts advice needed...............