定义
树(Tree)是n(n≥0)个结点的有限集合,n=0时称为空树。在任意一个非空树中:①有且只有一个特定的称为根(root)的结点;②当n>1时,其余结点可以分为m(m>0)个互不相交的有限集T₁,T₂,T₃....Tп,其中每个集合本身又是一棵树,并且称为根的子树(subTree)
树的定义用到了递归,也就是在树的的定义中还用到了树的概念,如上图中T₁,T₂的树就是结点A的子树,DGHI组成的树是结点B的子树,EJ组成的树是结点C的子树。当n>0时根节点时唯一的,当m>0,子树个数没有限制,但一定不能相交。
结点分类
树的结点包含一个数据元素及若干指向其子树的分支。结点拥有的子树数称为结点的度(Degree)。度为0的结点称为叶结点(Leaf)或终端结点;度不为0的结点称为非终端结点或分支结点。除根结点之外,分支结点也称为内部结点。树的度是树内各结点的度的最大值。如下图,这棵树的度的值为最大结点D的度,也就是3
结点关系
结点的子树的根称为该结点的孩子(Child),相应的该结点称为孩子的双亲(Parent),同一个双亲的孩子之间互称兄弟(Sibling),结点的祖先是从根到该结点所经分支上的所有结点,以某结点为根的的子树任意一个结点都是该结点的子孙。如下图:对于H来说,D,B,A都是它的祖先,而B的子孙有D,G,H,I