5.1.1 树的定义
树(Tree)是n(n >= 0)个结点的有限集。n = 0时称为空树。n != 0时,它满足以下两个条件:
(1)有且仅有一个特定的称为跟(Root)的结点;
(2)其余结点可分为m(m >= 0) 个互不相交的有限集T1, T2, ..., Tm,其中每一个集合本身又是一颗树,并且称为根的子树(SubTree),如下图所示:
5.1.2 结点分类
1、根节点:非空树中无前趋结点的结点。
2、结点的度:结点拥有的子树个数。
3、树的度:树内各结点个度的最大值。
4、叶子结点(Leaf)或终端结点:度为0的结点。
5、分支结点或非终端结点:度不为0的结点。
6、内部结点:根结点以外的分支结点。
5.1.3 结点间关系
1、结点的子树的根称为称为该结点的孩子,相应地,该结点称为孩子的双亲。
2、同一双亲的孩子之间互称兄弟。
3、结点的祖先:从根结点到该结点所经分支上的所有结点。
4、结点的子孙:以某结点为根的子树中任一结点都称为该结点的子孙。
5.1.4 树的其它概念
1、结点的层次(Level)从根开始,根为第一层,根的孩子是第二层。
2、双亲在同一层的结点户外堂兄弟。
3、树中结点的最大层次称为树的深度(Depth)或高度。
4、有序树:树中结点的各子树从左至右有次序,不能互换。
5、无序树:树中结点的各子树无次序。
6、森林(Forest): 是m(m >= 0)颗互不相交的树的集合。
一颗树可以看成一个特殊的森林,把根结点删除的树也可以看成森林,给森林中的各子树加上一个双亲结点,森林就变成了树。
5.1.5 线性结构和树结构的比较
1、线性结构: 2、树结构
第一个元素:无前趋 根结点:无双亲,唯一
最后一个元素:无后继 叶子节点:无孩子,可以有多个
中间元素:一个前趋一个后继 中间结点:一个双亲多个孩子
一对一的关系 一对多的关系