定义说明了:树是一种递归的数据结构——树中包含树
结构特点:结点间有明显层次关系
树的定义树是n(n≥0)个结点的有限集,n=0——空树;在一棵非空树中:(1)有且只有一个特定的结点——根结点(root);(2)当n>1,其余结点可分为m个互不相交的子集T1,T2,……,Tm,它们又是树——根结点的子树(SubTree)
例如:学校的行政关系、书的层次结构、人类的家族血缘关系、操作系统的目录、结构程序模块等
A是根T1={B,E,F}T2={C,G,I,J}T3={D,H}在树中,每个结点被定义为它的每个子树的根结点的前驱
树的表示(1)结点连线隐含:上方结点是下方结点的前驱
ADCBHGFEJI(2)二元组表示如下面的树可表示为:K={C,G,I,J}R={,,}JIGC(3)集合图表示法每棵树对应一个圆形,圆内包含根结点和子树
ADCBHGFEJIIJAEBDHFCG(4)凹入表示法ABEFCGIJDH每棵树的根对应着一个条形,子树的根对应着一个较短的条形
ADCBHGFEJI(5)广义表表示每棵树的根作为由子树构成的表的名字而放在表的左边
ADCBHGFEJIA(B(E,F),C(G(I,J)),D(H))(1)树的结点:包含一个数据元素及若干指向其子树的分支(2)结点的度(degree):结点拥有的子树数
(3)根结点:无前驱
(4)叶子(终端结点):度为零的结点
(5)分支结点(非终端结点)度不为零的结点
除根结点外,分支结点也称内部结点(1个前驱,多个后继)(6)树的度:树内各结点的度的最大值
基本术语ADCBHGFEJI(7)孩子:结点的子树的根称为该结点的孩子
相应地,该结点称为孩子的双亲
(8)兄弟:同一双亲的孩子之间互为兄弟
(9)祖先:结点的祖先是从根到该结点所经分支上的所有结点
(10)子孙:以某结点为根的子树中的任一结点都称为该