bst remove percolate min max traverse