树(Tree)是n(n>=0)个结点的有限集。n=0时成为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,........Tm,其中每一个集合本身又是一颗树,并且称为根的子树(subTree).
对于树的定义还需要强调两点:
1.n>0时,根结点是唯一的,不可能存在多个根结点。
2.m>0时,子树是没有限制的,但他们一定是互不相交的。
结点的分类
1.树的结点包含一个数据元素及若干指向子树的分支。
2.结点拥有子树的数称为结点的度(Degree)。
3.度为零的结点称为叶子结点或终端节点。
4.度不为零的结点称为非终端结点或分支结点。
5.除根结点外,分直接点也称为内部结点。
6.树的度是树内各结点的度的最大值。
结点间的关系
1.结点的子树的根称为该结点的孩子(Child),该结点称为孩子的双亲(Parent)。
2.同一个双亲的孩子之间称为兄弟(sibling)。
3.结点的祖先是从根到该结点所经过分支上的所有结点。
4.以某结点为根的子树中的任一结点都称为该结点的子孙。
树的其他相关概念
1.结点的层次(Level)从根开始定义起,根称为第一层,根的孩子为第二层。
2.若某结点在第i层,则其子树的根就在第i+1层。
3.其双亲在同一层的结点互为堂兄弟。
4.树中结点的最大层次称为树的深度(Depth)或高度
5.森林(Forest)是m(m>=0)颗互不相交的数的集合。对树中的每个结点而言,其子树的集合即为森林。