1.树和二叉树的定义
树是n个结点的有限集(n>=0).
n=0 空树
n=1 只有一个称为根的结点
n>1 其余结点可分为m个互不相干的有限集 T1,T2,T3, 其中每一个集合称为跟的子树。
1.1树的基本定义
1.2二叉树的定义
二叉树是n个节点的有限集。n可以为 0。或者由一个根节点及两棵互不相交的分别叫做左子树,右子树的二叉树组成。
特点:
- 每个结点最多只有两个孩子(二叉树中不存在度大于2的结点)。
- 子树有左右之分,次序不能颠倒。
- 二叉树可以是空集,跟可以有空的左子树或空的右子树。
2.二叉树的性质
- 在二叉树的第i层上最多有2 的 i-1 个结点
2.深度为k的二叉树的最多有2的k次 -1 个 结点
3.对于任何一个二叉树T,如果其终端结点为n0,度为2的结点为n2,则n0 = n2+1
4.
2.2特殊的二叉树:
满二叉树
完全二叉树
3.二叉树的存储结构
- 顺序存储
列题:
链式存储
- 二叉链表
4.遍历二叉树
4.1遍历
4.1.1先序遍历
4.1.2中序遍历
4.2.3后序遍历
例题
4.2.4层次遍历
4.2 遍历算法
5.根据遍历序列确定二叉树
5.1知道先序和中序求二叉树
5.2知道中序和后序求二叉树
6.树和森林
6.1树的存储结构
6.1.1双亲表示法
6.1.2孩子表示法
6.1.3孩子兄弟表示法
6.2树和二叉树转换
6.2.1树转二叉树
6.2 .2二叉树转换成树
6.3森林和二叉树
6.3.1森林转换二叉树
6.3.2二叉树转换森林
6.3.2树的遍历
6.3.3森林的遍历![](https://i-blog.csdnimg.cn/blog_migrate/1cedf501c24d7b4b9a4a9722378cdd04.png)
6.4哈夫曼树及其应用
6.4.1基本概念
6.4.2构造哈夫曼树的算法
构造规则:
- 小的在左边,大的在右边
- 叶子结点在左,分支结点在右
6.4.3哈夫曼编码
列题