堆排序算法图例解析

  1. 二叉树
  2. 二叉堆
  3. 推排序

在讲堆排序之前,先了解一下二叉树和二叉堆吧!

二叉树

在这里插入图片描述

二叉树的结构:

  • 根节点:图中的a
  • 叶子节点:没有子节点但是有父节点:图中的f,w就是叶子节点
  • 分支节点:既有子节点又有父节点
  • 节点的度:一个节点所含有的子节点的个数被称为该节点的度

二叉树的特点:

  • 二叉树的节点最大的度数为2(如下图所示,最大的节点的度都为2)
  • 二叉树有左右子节点之分
  • 二叉树第i层的节点数至多为2i-1(如下图所示第2层节点数为22-1=2)
  • 对于n层的二叉树,其所有节点数最多为2n-1(如下图所示所有节点数为24-1=15)

在这里插入图片描述

完全的二叉树:

  • 所有叶子节点都分别出现在第h层或者h-1层(如下图所示节点7,节点8,9,10,11,12都是叶子节点)
  • 只允许最后一层的右边有空缺
  • 度为1的节点只有一个或者0个(如下图所示节点6)
  • 第i层最多只能有2i-1
  • 对于n层的二叉树,其所有节点数最多为2n-1
    在这里插入图片描述

二叉堆

在这里插入图片描述

堆排序

第一部分的排序,将堆顶的元素截掉,放到后面去

在这里插入图片描述

第二次排序,也是和上面的一样,再找多几次堆顶的元素,然后截掉,然后放到后面-1(意思就是想进的在最后面)

在这里插入图片描述

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值