树可分为普通树和二叉树,二叉树又可以分为完全二叉树和满二叉树。
一、树的常见术语。
根结点、子树、孩子、双亲、兄弟
结点的度:结点拥有的子树数称为结点的度(Degree)
叶子结点(终端结点):度为0的结点
分支结点(非终端结点):度不为0的结点
祖先:结点的祖先是从根到该结点所经分支上的所有结点
子孙:以某结点为根的子树中的任一结点都称为该结点的子孙
堂兄弟:双亲在同一层的结点互为堂兄弟
深度(高度):树中结点的最大层次称为树的深度(Depth)或高度
森林:m(m>=0)棵互不相交的树的集合
二、二叉树
2.1 二叉树的性质
1、二叉树的第i层上至多有$2^{i-1}$个结点(i >= 1)
2、深度为k的二叉树至多有$2^k-1$个结点(k >= 1)
3、对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点树为n2,则n0 = n2 + 1
4、具有n个结点的完全二叉树的深度为$log_2n+1$
5、数组存储二叉树时,某个树结点的下标为i,则其左孩子为$2*i$,右孩子为$2*i+1$
2.2 特殊的二叉树
完全二叉树:深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。
满二叉树:一棵深度为k且有$2^k-1$个结点的二叉树称为满二叉树。