1.树的基本概念
1.1 树的定义
首先,树是一个集合,是一个有限集合,是N个结点的有限集合(N >= 0)。
当N = 0时,这种情况比较特殊,称为“空树”。
任何非空树(N > 0)应满足:
1)有且只有一个根结点。
2)N>1时,其余结点可分为m(m > 0)个互不相交的有限集合,其中每个集合本身又是一棵树,称为根结点的子树。
由以上两点可知,树是一种递归的数据结构。
树作为一种逻辑结构(非线性),同时也是一种分层结构(层次关系),有两个特点:
1)根结点无前驱结点,除根节点所有结点有且只有一个前驱结点。
2)所有结点可以有 0 个或多个后继节点。
得到一个结论:n 个结点的树中有 n-1 条边。
1.2 一些基本术语
1)祖先结点和子孙结点相对、双亲结点和孩子结点相对、兄弟结点(双亲相同)。
结论:根是唯一无双亲结点。
2)结点的度:一个结点的子结点个数。
树的度:N 个结点中结点的最大度数。
3)分支结点:度 > 0 的结点(非终端)。叶子结点:度为 0 的结点(终端)。
结论:分支结点的分支数就是该结点的度。
4)结点的层次:从树根开始定义,根结点为第 1 层,它的子结点为第 2 层,以此类推。
结点的深度:从根结点自顶向下逐层累加。
结点的高度:从叶结点自底向上逐层累加。
树的高度(深度):N 个结点中结点的最大层数。
5)有序树:结点子树从左到右存在次序,不能交换。反之则为无序树。
6)路径:两个结点之间经过的结点序列构成了两个结点间的路径。
路径长度:路径上经过的边的个数。
7)森林:m(m >= 0)棵互不相交的树的集合。(森林与树的相互转化,加或删独立子树根结点)。
1.3 树的重要性质
1)树中结点数 = 所有结点度数 + 1。
2)度为 m 的树中第 i 层上至多有 m^(i - 1) 个结点(i >= 0)。
3)高度为 h 的 m 叉树至多有 (m^h - 1) / (m - 1) 个结点。
4)具有 n 个结点的 m 叉树的最小高度为 ┎ log(m) (n (m - 1) + 1) ┒。(即当前树尽可能为满树)。
1.4 一些重要结论
1)对于树的高度来说,分两种情况:
至多:每一层结点尽可能少,即每一层一个结点(除最后一层)
至少:每一层都为最大的结点(除最后一层),也就是所谓的尽可能满树。
2)树根到每个结点的路径的最大值应该是树的高度减 1 。
3)树结点和度的关系:
总结点数 = N(0) + N(1) + N(2) +… + N(M);
总分支数 = 1 * N(1) + 2 * N(2) + … + m * N(M);
总结点数 = 总分支数 + 1。
本文详细介绍了树这一数据结构的基本概念,包括定义、术语、重要性质及结论。探讨了树的递归特性,结点的度、层次与高度,以及有序树与森林的概念。解析了树的数学性质,如结点数与度数的关系,每层最大结点数等。
848

被折叠的 条评论
为什么被折叠?



