树型结构
树型结构(非线性结构):
例子:
- 自然界:树
- 人类社会:家谱、行政组织机构
- 计算机领域:
- 编译:用树表示源程序的语法结构
- 数据库系统:用树组织信息
- 算法分析:用树描述执行过程
树的定义
树(Tree)是n(n≥0)个结点的有限集
若n=0,称为空树;
若n>0则它满足如下两个条件:
- 有且仅有一个特定的称为根(Root)的结点
- 其余结点可分为m(m≥0)个互不相交的有限集T1,T2,T3,...,Tm。其中每一个集合本身又是一棵树,并成为根的子树(SubTree)

术语:
- 结点:数据元素以及指向子树的分支
- 根结点:非空树中无前驱结点的结点
- 结点的度:结点拥有的子树数
- 树的度:树内各结点的度的最大值
- 叶子: 度=0。终端结点
- 分支结点:度≠0。非终端结点,根结点以外的分支结点称为内部结点
- 结点的子树称为该结点的孩子,该结点称为孩子的双亲
- 兄弟结点:如果几个结点有共同的前驱结点,我们把这些结点叫做兄弟结点
- 堂兄弟结点:若两个结点的双亲结点在同一层,我们把这两个结点叫做堂兄弟结点
- 结点的祖先:从根结点到该结点所经分支上的所有结点
- 结点的子孙:以某结点为根的子树中的任一结点
- 树的深度:树中结点的最大层次
