堆排序
是利用堆的性质进行的一种选择排序。下面先讨论一下堆。
1.堆实际上是一种完全二叉树,堆分为大根堆和小根堆。双亲比左右子女大的叫做大根堆,即k[i]>=k[2i],k[i]>=k[2i+1].双亲比左右子女小的叫做小根堆,即k[i]<=k[2i],k[i]<=k[2i+1];
2.堆排序思想:
(1)创建一个完全二叉树.
(2)调整成大根堆(小根堆)。
1.堆实际上是一种完全二叉树,堆分为大根堆和小根堆。双亲比左右子女大的叫做大根堆,即k[i]>=k[2i],k[i]>=k[2i+1].双亲比左右子女小的叫做小根堆,即k[i]<=k[2i],k[i]<=k[2i+1];
2.堆排序思想:
(1)创建一个完全二叉树.
(2)调整成大根堆(小根堆)。