当前位置:   article > 正文

《数据结构》天勤和王道 第五章 树_王道数据结构ppt课件

王道数据结构ppt课件

《数据结构》天勤和王道 第五章 树

天勤部分

1. 树的基础知识

在这里插入图片描述
树是一种递归定义的数据结构。递归特性:当前每一层都跟上一层有类似的结构,每一个子结构跟其父结构都类似。

1.1 结点的度

在这里插入图片描述

1.2 树的度

在这里插入图片描述
所有结点中最大的分支数就是树的度。

1.3 叶子结点

在这里插入图片描述
度为0的结点就是叶子结点。

1.4 双亲结点、孩子结点、祖先结点和子孙结点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 兄弟结点和堂兄弟结点

在这里插入图片描述
在这里插入图片描述

1.6 高度和深度

在这里插入图片描述

1.7 存储结构

这部分直接看下面王道的“10. 树的存储结构”。

2. 二叉树的逻辑结构和存储结构

在这里插入图片描述
在这里插入图片描述

2.1 性质

在这里插入图片描述
在这里插入图片描述

2.2 叶子结点数=双分支结点数+1的灵活运用

在这里插入图片描述
当求一棵树中的空指针个数等时,我们可以先在每个结点上填充上空指针,使得每个结点的度都为2,然后就可以运用公式了。

2.3 m叉树的性质

在这里插入图片描述
在这里插入图片描述

王道部分

1. 树的定义和基本术语

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2. 树的常考性质

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 二叉树的定义和基本术语

在这里插入图片描述
在这里插入图片描述

3.1 满二叉树和完全二叉树

满二叉树是一种特殊的完全二叉树。
在这里插入图片描述
在这里插入图片描述

3.2 二叉排序树

在这里插入图片描述

3.3 平衡二叉树

在这里插入图片描述
在这里插入图片描述

4. 二叉树的性质

4.1 二叉树的常考性质

在这里插入图片描述
结点树=总度数+1;这的“1”表示的是根结点。
在这里插入图片描述
在这里插入图片描述

4.2 完全二叉树的常考性质

在这里插入图片描述
这里的 h-1<log2 (n+1)<=h,表示的是log2 (n+1)在 h-1 和 h 之间相差不到一的小数,由于是<=h,所以向上取整。
在这里插入图片描述
在这里插入图片描述

5. 二叉树的存储结构

5.1 顺序存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 链式存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 二叉树的先中后序遍历

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.1 先序遍历的代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.2 中序遍历的代码

在这里插入图片描述
在这里插入图片描述

6.3 后序遍历的代码

在这里插入图片描述
在这里插入图片描述

6.4 遍历算术表达式树

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 二叉树的层序遍历

在这里插入图片描述
在这里插入图片描述

8. 由遍历序列构造二叉树

8.1 不同二叉树的遍历序列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.2 前序+中序遍历序列

在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.3 后序+中序遍历序列

在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.4 层序+中序遍历

在这里插入图片描述
举个例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再举个例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
必须跟中序序列组合才能确定唯一的二叉树

9. 线索二叉树

9.1 线索二叉树的概念

遍历二叉树是以一定的规则讲二叉树中的结点排列成一个线性序列,从而得到几种遍历序列,使得该序列中的每个结点(第一个和最后一个结点除外)都有一个直接前驱和直接后继。
这种是没有线索的时候,找遍历序列中的前驱和后继。
在这里插入图片描述
通过中序遍历,先访问D结点(visit(D)),然后继续执行下去。

9.1.1 中序线索二叉树

在这里插入图片描述

线索二叉树的存储结构

在这里插入图片描述
在这里插入图片描述

9.1.2 先序线索二叉树

在这里插入图片描述
在这里插入图片描述

9.1.3 后序线索二叉树

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.2 二叉树的线索化(代码实现)

在这里插入图片描述

9.2.1 中序线索化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.2.2 先序线索化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.2.3 后序线索化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3 线索二叉树找前驱/后继

9.3.1 中序线索二叉树找中序后继

在这里插入图片描述
在这里插入图片描述

9.3.2 中序线索二叉树找中序前驱

在这里插入图片描述
在这里插入图片描述

9.3.3 先序线索二叉树找先序后继

在这里插入图片描述

9.3.4 先序线索二叉树找先序前驱

在这里插入图片描述
在这里插入图片描述

9.3.5 后序线索二叉树找后序前驱

在这里插入图片描述

9.3.6 后序线索二叉树找后序后继

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10. 树的存储结构

在这里插入图片描述

10.1 双亲表示法(顺序存储)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.2 孩子表示法(顺序+链式存储)

在这里插入图片描述
在这里插入图片描述

10.3 孩子兄弟表示法(链式存储)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.4 森林和二叉树的转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11 树、森林的遍历

在这里插入图片描述

11.1 树的先根遍历

在这里插入图片描述

11.2 树的后根遍历

在这里插入图片描述

11.3 树的层次遍历

在这里插入图片描述

11.4 森林的先序遍历

在这里插入图片描述
在这里插入图片描述

11.5 森林的中序遍历

在这里插入图片描述
在这里插入图片描述
如果考试要是考到关于遍历森林的代码的话,我们可以先转换成上述这种二叉树(即森林用二叉树来存储),然后利用我们熟悉的二叉树代码继续解决。

12. 哈夫曼树

12.1 带权路径

在这里插入图片描述

12.2 哈夫曼树的定义

在这里插入图片描述
只要是最优二叉树就是哈夫曼树。

12.3 哈夫曼树的构造

在这里插入图片描述
在这里插入图片描述

12.4 哈夫曼编码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13. 并查集(新增考点)

并查集的逻辑结构是一个集合
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个时候我们可以将集合之间的关系类似地看成是森林,而每个集合中的元素也可以组成一棵树。

13.1 查和并的实现

在这里插入图片描述
在这里插入图片描述

13.2 并查集的存储结构

可以用双亲表示法来存储并查集。
在这里插入图片描述

13.3 基本操作

在这里插入图片描述

13.4 代码实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.5 Union操作的优化

优化思路:在每次Union操作构建树的时候,尽量不要让树“长高”。
①用根结点的绝对值表示树的结点总数。
②Union操作,让小树合并到大树。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

13.6 Find操作的优化(压缩路径)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每次Union时,都需要从指定元素出发找到该元素的根结点,也就是需要乘上Find函数的时间复杂度。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/792264
推荐阅读
相关标签
  

闽ICP备14008679号