【理论】 - 树、二叉树(满二叉树、完全二叉树)和堆
发布日期:2021-06-30 17:02:15 浏览次数:2 分类:技术文章

本文共 633 字,大约阅读时间需要 2 分钟。


1、树的定义

  • n个结点的有限集合
  • 有且仅有一个根结点
  • 其余结点可分为m个根结点的子树。

在这里插入图片描述

2、二叉树

  • 每个节点最多拥有两个子节点
  • 左子树和右子树是有顺序的不能任意颠倒。

在这里插入图片描述

3、二叉树遍历

前序遍历(前根遍历):根——>左——>右

中序遍历(中根遍历):左——>根——>右

后序遍历(后根遍历):左——>右——>根

在这里插入图片描述

4、满二叉树

  • 高度为h
  • 由2^h-1个节点构成的二叉树
    在这里插入图片描述

5、完全二叉树

  • 完全二叉树是由满二叉树而引出来的

  • 深度为h,

  • 除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数

    (即1~h-1层为一个满二叉树),

  • 第 h 层所有的结点都连续集中在最左边

堆一般都是用完全二叉树来实现的。

在这里插入图片描述

【完全二叉树如何储存】

完全二叉树中父亲和儿子之间有着神奇的规律,我们只需用一个一维数组就可以存储完全二叉树。

首先将完全二叉树进行从上到下,从左到右编号。

完全二叉树的一个父结点编号为k,那么它左儿子的编号就是2k,右儿子的编号就是2k+1。如果已知儿子(左儿子或右儿子)的编号是x,那么它父结点的编号就是x/2。

6、堆

堆是什么?堆是一种特殊的完全二叉树。

  • 所有父结点都比子结点要小的完全二叉树我们称为最小堆
  • 反之,如果所有父结点都比子结点要大,这样的完全二叉树称为最大堆

如下图所示,左边为最小堆,右边为最大堆。

在这里插入图片描述

为什么是堆?
在这里插入图片描述


归档

  • https://blog.csdn.net/qq_41117236/article/details/81029618

转载地址:https://lawsssscat.blog.csdn.net/article/details/104229921 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JS - 5 - Symbol 类型
下一篇:【刷题】 - 寻找两个有序数组的中位数

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月24日 17时04分56秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

利用ffmpeg合并音频和视频 2019-04-30
刷好老毛子系统进不了老毛子系统后台的解决办法 2019-04-30
Parallels Desktop 16 不能联网的解决办法 2019-04-30
ERROR 1292 (22007): Incorrect datetime value: ‘2002‘ for column ‘出版日期‘ at row 1 2019-04-30
SLAM中TUM数据集更改图片名字 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第1章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第2章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第3章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第4章 2019-04-30
【并发控制】并发控制与分布式锁(redis/zookeeper)实现【图文教程】_ 第5章 2019-04-30
synchronized和CAS锁的区别【图文教程】 2019-04-30
【java】属性别名:@JsonProperty和@JSONField的区别?【图文教程】 2019-04-30
配置nginx只允许域名访问,禁止ip访问【图文教程】 2019-04-30
Java代理【图文教程】_第1章_静态代理 2019-04-30
Java代理【图文教程】_第2章_jdk动态代理 2019-04-30
AOP面向切面编程【图文教程】_第1章 2019-04-30
AOP面向切面编程【图文教程】_第2章 2019-04-30
二叉树之前序、中序、后序和层次遍历【图文教程】 2019-04-30
【java】class内部模块(静态方法,静态块,静态变量,方法块等)执行顺序【图文教程】 2019-04-30
java类的构成 2019-04-30