看了一下午,对着书上的图形终于理解了堆排序.
可以这样描述,从最后一个具有孩子的结点(编号[n/2])开始,依次考察到(n/2)-1...1 ,是否为堆,若否则调整为堆。
所要的大顶堆(或者小顶堆建好后),将建好的元素与末尾的元素(芫荽)交换(用数组理解,堆排序就是给数组排序,)
当交换后(及选出最大或者最小元素后),重新调整重新选。
看了一下午,对着书上的图形终于理解了堆排序.
可以这样描述,从最后一个具有孩子的结点(编号[n/2])开始,依次考察到(n/2)-1...1 ,是否为堆,若否则调整为堆。
所要的大顶堆(或者小顶堆建好后),将建好的元素与末尾的元素(芫荽)交换(用数组理解,堆排序就是给数组排序,)
当交换后(及选出最大或者最小元素后),重新调整重新选。