树二:二叉树定义及性质
树结构模型:
1. 双亲孩子表示法模型
- 每个结点都有一个指向其双亲的指针
- 每个结点都有若干个指向其孩子的指针
2. 孩子兄弟表示法模型
- 每个结点都有一个指向其第一个孩子的指针
- 每个结点都有一个指向其第一个右兄弟的指针
本质是将普通树转化为二叉树
二叉树的定义:
二叉树是由 n (n >= 0) 个结点组成的有限集合,该集合或者为空,或者是由一个根结点加上两个分别称为左子树和右子树、互补相交的二叉树组成。
特殊的二叉树:
1. 满二叉树(Full Binary Tree):
如果二叉树中所有分支结点的度数都为2,且叶子结点都在同一层上,则称这类二叉树为满二叉树。
2. 完全二叉树(Complete Binary Tree):
如果一棵具有 n 个结点的高度为 k 的二叉树,它的每一个结点都与高度为 k的满二叉树中编号为 1 - n 的结点一一对应,则称这棵二叉树为完全二叉树。(从上到下从左到右编号)
完全二叉树:
1. 完全二叉树的叶结点仅仅出现在最下面两层
2. 最下层的叶结点一定出现在左边
3. 倒数第二层的叶节点一定出现在右边
4. 完全二叉树中度为1的结点只有左孩子
5. 同样结点的二叉树,完全二叉树的高度最小
二叉树的深层性质:
1. 在二叉树的第 i 层最多有 2^(i-1) 个结点。(i >= 1)
2. 深度为 k 的二叉树最多有 2^k -1 个结点。(k >= 0)
3. 对任何一棵二叉树,如果其叶节点有 n0 个, 度为2的结点有n2个,则:n0 = n2 + 1.
4.
5.