堆排序算法
算法特点:
利用完全二叉树的双亲结点与孩子结点的大小关系,每次输出堆顶元素,实现排序。时间复杂度o(nlogn)
是一个不稳定的排序算法。
算法步骤:
步骤1 构建堆:即根据元素初始顺序建立一个完全二叉树
示例:

步骤2 调整堆:从第N/2个结点到堆顶结点,若子节点大于该结点值,则与子节点中较大的那个交换,并继续向下调整,时间复杂度o(n)

步骤3 进行堆排序:每次输出堆顶元素(可以将堆顶元素与末端元素交换),然后把剩余的结点整理成堆,继续输出堆顶元素。

本文深入讲解堆排序算法的特点与步骤,包括构建堆、调整堆及排序过程,揭示其时间复杂度为O(nlogn),并指出它属于不稳定的排序算法。
堆排序算法
算法特点:
利用完全二叉树的双亲结点与孩子结点的大小关系,每次输出堆顶元素,实现排序。时间复杂度o(nlogn)
是一个不稳定的排序算法。
算法步骤:
步骤1 构建堆:即根据元素初始顺序建立一个完全二叉树
示例:

步骤2 调整堆:从第N/2个结点到堆顶结点,若子节点大于该结点值,则与子节点中较大的那个交换,并继续向下调整,时间复杂度o(n)

步骤3 进行堆排序:每次输出堆顶元素(可以将堆顶元素与末端元素交换),然后把剩余的结点整理成堆,继续输出堆顶元素。

928
283
1048
448

被折叠的 条评论
为什么被折叠?