摘要:
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。通常堆是通过一维数组来实现的。在起始数组为 0 的情形中: 父节点i的左子节点在位置 (2*i+1); 父节点i的右子节点在位置 (2*i+2); 子节点i的父节点在位置 floor((i-1)/2);在堆的数据结构中,堆中的最大值总是位于根节点。堆中定义以下几种操作: 最大堆调整(Max_Heapify):将堆的末端子结点作调整,使得子结点永远小于父结点 创建最大堆(Build_... 阅读全文