doc on heap sort