implement simple heapsort, but in-place heapsort needs modification
implement binary search tree