您的位置:首页 > 其它

选择排序:简单选择排序、堆排序

2017-11-16 15:07 316 查看

简单选择排序

通过n(n-1)/2次比较,每次找出最小值与第 i 个记录交换。

把堆看作一个完全二叉树

父节点比子节点大叫大顶堆

父节点比子节点小叫小顶堆

堆排序

原始数列对应的完全二叉数

将序列调整为堆(建立初始堆)

从最后一个非终端节点开始,即第n/2(向下取整)个元素开始

调整时把父节点与左右子节点进行比较。

若第一次交换后父节点变为子节点,还是没有变为堆–父节点大于(小于)子节点,则子节点与子节点的子节点再次比较交换。

插入节点:把节点插入到序列的最右边(最后一个结点+1的位置),在进行调整(筛选)

输出节点:将根节点与最后一个二叉树节点进行交换,再对堆进行调整,完全二叉树长度减 1 。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: