目录
5.1数和二叉树
一.树的定义
1.定义
树是n(n》0)个结点的有限集
若n=0,称为空树;
若n>0,则它满足如下两个条件;
(1)有且仅有一个特定的称为根的结点
(2)其余结点可分为m(m》0)个互不相交的有限集T1,T2,T3,...,Tm,其中每一个集合本身又是一棵树,并称为根的子树
二.树的基本术语
三.树结构和线性结构的比较
5.1.3二叉树的定义
一.定义
二叉树是n(n》0)个结点的有限集,它或者是空集(n=0),或者由一个根结点及两棵互不相交的分别称作为这个根的左子树和右子树的二叉树组成
二.特点
- 每个结点最多有两个孩子(二叉树中不存在度大于2的结点)
- 子树有左右之分,其次不能颠倒
- 二叉树可以是空集合,根可以有空的左子树或空的右子树
三.二叉树的5种基本形态
5.3树和二叉树的抽象数据类型定义
一.二叉树的抽象数据类型定义
二.二叉树的操作
5.4二叉树的性质和存储结构
一.性质
二.两种特殊形式的二叉树
1.满二叉树
(1)定义
(2)特点
- 每一层上的节点数都是最大结点数(即每层都满)
- 叶子结点全在最底层
(3)对满二叉树结点位置进行编号
- 编号规则:从根结点开始,自上而下,自左而右
- 每一个结点位置都有元素
2.完全二叉树
(1)定义
深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应时,称之为完全二叉树
(2)特点
- 叶子只可能分布在层次最大的两层上
- 对任一结点,如果其右子树的最大层次为i。则其左子树的最大层次必为i或i+1
(3)性质
三.二叉树的存储结构
1.二叉树的顺序存储
(1)二叉树的顺序存储实现:按满二叉树的结点层次编号,依次存放二叉树中的数据元素
(2)顺序存储类型定义
(3)特殊形式
2.二叉树的顺序存储缺点和特点
四.二叉树的链式存储结构
1.存储结构的定义