堆排序是一个树形选择排序方法,它的特点是:在排序过程中,将L[1...n]看成是一棵完全二叉树的顺序存储结构,
①L(i)<=L(2i)且L(i)<=L(2i+1)或②L(i)>L(2i)且L(i)>=L(2i+1)(1<=i<=[n/2])
利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(或最小)的元素。
①L(i)<=L(2i)且L(i)<=L(2i+1)或②L(i)>L(2i)且L(i)>=L(2i+1)(1<=i<=[n/2])
满足第一种情况的堆称为小根堆(小顶堆),满足第二种情况的堆称为大根堆(大顶堆)。
如图所示是一个大根堆
87 | 4 |