提示:本篇章主要讲解数据结构中树的相关知识。
树的定义和相关术语
- 树形结构是一类重要的非线性结构。树形结构是结点之间有分支,并具有层次关系。它非常类似于自然界中的树。
- 树结构在客观世界中 是大量存在的
例如:家谱、行政组织机构都可用树形象地表示。
树在计算机领域中也有着广泛的应用,在数据库系统中,可用树来组织信息;
树的定义
树是n个结点的有限集T,且满足以下条件:
1)有且仅有一个特定的称之为根的结点。
2)除根结点之外的其余结点可分为m个互不相交的集合T1,T2,...,Tm,且其中每个集合又是一棵树,并称之为根的子树。
注意:
树的递归定义刻画了树的固有特性:一棵非空树是由若干棵子树构成的,而子树又可由若干棵更小的子树构成。
树的示例
通常,我们使用上图示例来表示树。
结点的度
是指结点拥有的子树个数。即每一个结点的后继结点的个数。
树的度
一棵树中最大的结点度数。
叶子结点
度为0的结点 称为叶子结点或者终端结点。
分支结点
度大于0的结点 称为分支结点或者非终端结点。
上图所示:
结点的层次
从根结点算起,根为第一层, 它的孩子为第二层,……,依此类推。
树的层次/深度/高度
树中结点的最大层次数。
如下图所示
孩子、双亲及兄弟结点
结点的各子树的根称为该结点的孩子, 而该结点称为孩子的双亲。 具有相同双亲的结点互称为兄弟。
上图所示