用堆排序方法详见第题的分析从序列{}得到{}共用次比较其中建堆输出比较次调堆输出和各需要比较次和次
类似本题的另外叙述题的解答
()堆排序分析同前共+++= 次比较
对具体例子的手工堆排序略
堆与败者树的区别堆是n个元素的序列在向量中存储具有如下性质
由于堆的这个性质中下标i和ii+的关系恰好和完全二叉树中第i个结点和其子树结点的序号间的关系一致所以堆可以看作是n个结点的完全二叉树而败者树是由参加比赛的n个元素作叶子结点而得到的完全二叉树每个非叶(双亲)结点中存放的是两个子结点中的败者数据而让胜者去参加更高一级的比赛另外还需增加一个结点即结点存放比赛的全局获胜者
()堆的存储是顺序的
()最大值元素一定是叶子结点在最下两层上
()在建含有n个元素深度为h的堆时其比较次数不超过n推导如下
由于第i层上的结点数至多是i以它为根的二叉树的深度为hi+则调用ën/û次筛选算法时总共进行的关键字比较次数不超过下式之值
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []