树的定义
树是由n(n≥0)个结点组成的有限集合
当n=0时,称为空树
;
对于任一棵非空树
(n>0),它具备以下性质:
- 树中有一个称为根(Root)
的特殊结点,用r
表示;
- 其余结点可分为m(m>0)个互不相交
的有限集T1,T2,…Tm,其中每个集合本身又是一颗树,称为原来树的子树(SubTree)
。
树的基本术语
- 结点的度(Degree):结点的
子树个数
; - 树的度:树的所有结点中,最大的度;
- 叶结点(Leaf):
度为零
的结点; - 父结点(Parent):一个结点含有子结点,则这个结点称为其子结点的父结点;
- 子结点(Child):一个结点含有的子树的根结点称为该结点的子结点;
- 兄弟结点(Sibling):具有同一父结点的子结点,互为兄弟结点;
- 路径:从结点n1到nk的路径是经过的所有结点的一个序列;
- 路径长度:路径所包含的边的个数;
- 结点的层次:规定
根结点在1层
,子结点层次为其父结点层次加1,以此类推; - 树的深度:所有结点中,
最大的层次
,是这课树的深度。
二叉树的定义
二叉树T:一个有穷的结点集合。
这个集合可以为空
;若不为空,则它是由根结点
和称为其左子树TL
和右子树TR
的两个不相交的二叉树组成。
特殊二叉树:
- 斜二叉树
- 完美二叉树
- 完全二叉树
二叉树的重要性质
- 一个二叉树
第i层
的最大结点数:2^i-1, i>=1; - 深度为k的二叉树有
最大总结点数
:(2^k)-1, k>=1; - 任何
非空二叉树
,若n0表示叶结点个数,n2是度为2的结点个数,那么两者满足n0=n2+1。