堆排序(C语言实现)

一雁酷客 15 0 PDF 2021-01-08 07:01:26

堆排序(C语言实现)算法思想步骤程序 算法思想 见: 4. 选择排序—堆排序(Heap Sort) 算法导论——堆排序heapsort 步骤 1. 将n个元素建立初始堆,第一个节点放在数组下标1中,因此n个节点对应数组 a[1] ~ a[n],第 i 个节点的左孩子节点下标为 2i,右孩子节点为 2i + 1。 找到最后一个非叶子节点: 若节点 i 为最后一个非叶子节点,则 (a) 节点i只有左孩子节点(n 为偶数) 2*i = n; i = n/2; (b) 节点i有左右孩子节点 (n 为奇数) 2*i + 1 = n; i = (n-1)/2; n为整数,则 i = n/2 如果将跟节点放

用户评论
请输入评论内容
评分:
暂无评论