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