1.为何要重点研究每结点最多只有两个“叉”的树?
- 二叉树的结构最简单,规律性最强;
- 可以证明,所有树都能转为唯一对应的二叉树,不失一般性。
- 普通树(多叉树)若不转化为二叉树,则运算很难实现
二叉树在树结构的应用中起着非常重要的作用。
因为对二叉的许多操作算法简单,而任何树都可以与二叉树相互转换,这样就解决了树的存储结构及其运算中存在的复杂性。
2.二叉树的定义
- 二叉树是n (n>=0)个结点的有限集,它或者是空集(n= 0),或者由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。
3.二叉树的特点
- 每个结点最多有俩孩子(二叉树中不存在度大于2的结点)。
- 子树有左右之分,其次序不能颠倒。
- 二叉树可以是空集合, 根可以有空的左子树或空的右子树。
注: 二叉树不是树的特殊情况,它们是两个概念。
- 二叉树结点的子树要区分左子树和右子树, 即使只有一棵子树也得进行区分,说明它是左子树,还是右子树。
- 树当结点只有一个孩子时,就无须区分它是左还是右的次序。因此二者是不同的。这是二叉树与树的最主要的差别。
具有两个结点的二叉树有两种状态
具有两个结点的树只有一种状态
(也就是二叉树每个结点位置或者说次序都是固定的,可以是空,但是不可以说它没有位置,而树的结点位置是相对于别的结点来说的,没有别的结点时,它就无所谓左右了)
4.思考: 具有3个结点的二叉树可能有几种不同形态?普通树呢?
二叉树的5种基本形态
注: 虽然二叉树与树概念不同,但有关树的基本术语对二叉树都适用。