排序算法之堆排序(C++)

堆排序 堆排序: 经过将数组的元素转化成彻底二叉树,并将彻底二叉树转化为大顶堆(升序)或者小顶堆(降序),经过循环逐次获取最大值或最小值达到排序的目的。web 思路 · 升序为例(大顶堆)数组 将数组转化成彻底二叉树,其中最后一个非叶子节点的下标为 (数组长度/2-1),任意节点(非叶子节点)的左子树为2*i+1,右子树为2*i+2(i为数组下标)。 从最后一个非叶子节点往前遍历,将每一个子树调整
相关文章
相关标签/搜索