树的基本概念
树的定义:树是N(N>=0)个结点的有限集合,N=0时,称为空树,这是一种特殊情况。
任意一颗非空树中应满足:
有且仅有一个特定的称为根的结点
当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,…Tm,其中每个集合本身又是一棵树,
并且称为根结点的子树。
树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构
特点:
除了树的根结点外都有且仅有一个前驱结点;因此在n个结点的树中有n-1条边
树中的所有结点可以有零个或多个后继结点
基本术语
结点的度:树中该结点的子结点个数
树的度:树中结点最大的度数
分支结点:度大于0的结点;
叶子结点: 度等于0的结点
结点的深度、高度和层次
结点的层次从树根开始定义,根结点为第1层(有些是0层开始),以此类推;
结点的深度:是从根结点开始自顶向下组成累加
结点的高度:是从叶子结点开始自底向上逐层累加
树的高度:是树中结点的最大层数
路径和路径长度:
树中两个结点的路径:是由这两个结点之间所经过的结点序列构成的;A和K中间经过结点B和结点E
而路径长度:是从路径上所经过的边的个数;结点A和结点K的路径长度为3
森林:m(m>=0)棵互不相交的树的集合

树具有基本性质:
$$树中的结点数等于所有结点的度数加1.$$
$$度为m的树中第i层上至多有 m^{i-1} 个结点$$
$$高度为h的m叉树至多有(m^h-1)/(m-1)个结点$$
$$具有n个结点的m叉树的最小高度为\ulcorner\log_m(n(m-1)+1)\urcorner$$
扩展:
要使具有n个结点、度为4的树的高度最大,那么就要使得每一层得结点数尽可能得少,除了最后一层,其余每层都为一个结点,最终树得高度为n-3.

要使得度为4、高度为h得总结的个数最少,那么满足以下两个条件:
至少有一个结点有4个子结点
每一层结点数尽可能的少,结点个数为h+3
要使得度为4、高度为h得总结的个数最多,则应使每一个非叶子结点的度均为4,即为满树; 总结点个数最多为:$1+4+4^2+…+4^{h-1}$

$$\small{设数中度为i(i=0、1、2、…、n)的结点数分别为N_i,数中结点总数为N,则N=分支数+1,而分支数又等于树中各结点的度之和,即}$$
$$N=1+N_1+2N_2+……+nN_n=N_0+N_1+2N_2+……+nN_n$$要求含有n个结点的3叉树的最小高度,那么满足条件的一定是一颗完全3叉树:$$设含有n个结点的完全3叉树的高度为h,第h层至少有1个结点,至多有3^{h-1}个结点$$
则有:
$$1+3^1+3^2+…+3^{h-2}<n\leqq1+3^1+3^2+…+3^{h-1}$$
$$即:(3^{h-1}-1)/2<n\leqq(3^h-1)/2$$
$$得: 3^{h-1}<2n+1\leqq{3^h}$$
$$也即: h<\log_3(2n+1)+1,h\geqq{\log_3(2n+1)}$$
$$由于h只能是正整数,h=\ulcorner\log_3(2n+1)\urcorner,故这样得3叉最少高度是\ulcorner\log_3(2n+1)\urcorner$$- 运用的是等比求和公式:
$$ S_n=\frac{a_1(1-q^n)}{1-q}(q\neq1) $$
- 运用的是等比求和公式:
$$根据“树中所有结点得度数加1等于结点数”得结论,有n=\sum_{i=0}^m {i\times n_i}=n_1+2n_2+3n_3+…+mn_m+1$$
$$又有: n=n_0+n_1+n_2+…+n_m$$
$$所以:n_0=(n_1+2n_2+3n_3+…+mn_m+1)-(n_1+n_2+…+n_m)=n_2+2n_3+…+(m-1)n_m+1=1+\sum_{i=2}^m {(i-1)n_i}$$
Tree1-1
Author: xiao chong
Permalink: http://example.com/2021/09/16/Tree1-1/
License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE
Slogan: Do you believe in DESTINY?