二叉树和基本性质
一. 一些定义
二叉树:每个结点至多有两棵子树,有左右之分,次序不能颠倒。
满二叉树:深度为k,具有2k-1个结点的二叉树。
完全二叉树 : 层序遍历时,与对应的k层满二叉树的前n个 一 一 对应,即,只可以缺少最后一层的连续结点。
二. 常用到的二叉树性质
1. 在二叉树的 i 层,至多有2i-1个结点(i>=1)
2. 深度为k的二叉树至多有2k-1个结点。
3. 对任何一棵二叉树T,如果其终端结点数为 n0,度为 2 的结点数为 n2, 则 n0= n2 +1
设n1为二叉树 T 中度为1的结点数。因为二叉树中所有结点的度均小于或等于2,所以结点总数:
n=n0+n1+n2;
再看二叉树中的分支数,除了根结点外,其余结点都有一个分支进入,设 B 为分支总数:
n=B+1;
由于这些分支是由度为1 和 2的结点射出的,所以:
B=n1+2*n2;
所以: n0=n2+1.
4. 具有n个结点的完全二叉树的深度为:log2n+1, 其中 log2n 向下取整。
5. 在一棵有 n 个结点的完全二叉树中,对一个结点 i(1<=i<=n):
(1) i=1,根节点,i >1,父亲是 i/2
(2) 如果 2i >n,i 无孩子,否则左孩子是 2i
(3) 如果 2i +1 >n,i 无右孩子,否则右孩子是 2i+1
参考:数据结构(C语言版) 严蔚敏 吴伟民 编著 清华大学出版社
浙公网安备 33010602011771号