Asymptotically both MERGE as well as HEAP sort both are correct.
but Constants involved in MERGE SORT (i.e. C*nlogn, C is constant ) is much much larger than Constant involved in HEAP SORT..
Practically HEAP SORT overcome MERGE SORT for very large array.