-
树的介绍
树是由一个个结点组成的二叉树
-
把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:
1.每个节点有孩子结点(左孩子,右孩子)
2.没有父节点的节点称为根节点;
3.每一个非跟节点有且仅有一个父节点;
-
树的基本术语
若一个节点有子树,那么该节点称为子树根节点的“双亲“,子树的跟是该节点的“孩子”。有相同双亲的节点互为“兄弟节点”。一个节点的所有子树上的任何节点都是该节点的孩子。从根节点到某个节点的路径上的所有节点都是该节点的父亲。 -
结点是数据结构中的基础,是构成复杂数据结构的基本组成单位
节点的度:节点拥有的子树的数目。叶子:度为零的节点。
分支节点:度不为零的节点。
树的度:树中节点的最大的度。
层次:根节点的层次为1,其余节点的层次等于该节点的双亲节点加1。(n0=n2+1)
树的高度:树中节点的最大层次。
-
满二叉树的特点
满二叉树的特点有:叶子只能出现在最下一层。出现在其它层就不可能达成平衡。非叶子结点的度一定是2。
在同样深度的二叉树中,满二叉树的结点个数最多,叶子数最多。
完全二叉树特点
特点:
- 叶子结点只能出现在最下层和次下层。
- 最下层的叶子结点集中在树的左部。
- 倒数第二层若存在叶子结点,一定在右部连续位置。
- 如果结点度为1,则该结点只有左孩子,即没有右子树。
- 同样结点数目的二叉树,完全二叉树深度最小。
- 注:满二叉树一定是完全二叉树,但反过来不一定成立
树的深度
树中结点的最大层次数称为树的深度或高度。 如图树的深度为4。
二叉树的存储结构
定义
二叉树的顺序存储结构就是使用一维数组存储二叉树中的结点,并且结点的存储位置,就是数组的下标索引。
二叉树遍历
定义
二叉树的遍历是指从二叉树的根结点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次,且仅被访问一次。
访问次序
二叉树的访问次序可以分为四种:
- 前序遍历 根结点 > 左子树 > 右子树
- 中序遍历 左子树> 根结点 > 右子树
- 后序遍历 左子树 > 右子树 > 根结点
- 层序遍历 仅仅需按层次遍历就可以