1、堆排序的基本思想
堆是一棵顺序存储的完全二叉树。
其中每个结点的关键字都不大于其孩子结点的关键字,这样的堆称为小顶堆(结点小,孩子大)。
其中每个结点的关键字都不小于其孩子结点的关键字,这样的堆称为大顶堆(结点大,孩子小)。
举例来说,对于n个元素的序列{R0, R1, ... , Rn}当且仅当满足下列关系之一时,称之为堆:
结点为i时,其孩子为2*i+1和2*i+2
(1) Ri <= R2i+1 且 Ri <= R2i+2 (小根堆)
(2) Ri >= R2i+1 且 Ri >= R2i+2 (