python数据结构算法DAY3| 堆排序

目录

前言

1.什么是堆排序?

堆的向下调整性质

2.堆排序思路

3.堆排序代码

python中堆排序的内置模块

4.堆排序时间复杂度

5.堆排序解决topk问题


前言

堆排序是基于完全二叉树,堆是一种特殊的完全二叉树结构,那什么是树呢?

树是一种可以递归定义的数据结构,树是由n个节点构成的集合:

如果n=0,就是一颗空树;

如果n>0,那就存在一个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。

关于树的一些概念:

根节点:没有父节点的节点,如上图中A

节点的度:一个节点含有子树(孩子节点)的个数,,上图中F的度就是3(KLM)

树的度:一颗树中,各个节点的度里面取最大值,上图中,树的度为A节点的度,为7

树的高度或深度:就是树的层数,,上图中高度为4

叶子节点或终端节点:度为0的节点成为叶子节点,上图中叶子节点为HIPQ....

双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点,E是I的父节点

孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点,I是E的孩子节点

节点的层次:从根开

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值