数据结构 第五章 树-树 森林 基本概念

树 是一种逻辑结构,不是物理存储结构。是一种可递归的数据结构。

 结点数为 0 的树称为空树。

当 结点数 n > 1 时,子节点本身也是一棵树。称为该结点的 子树;上图中,B树为A结点的左子树, C为结点的树,称为A结点的右子树, A称为 根结点。 D为结点的树称为结点B 的左子树...

n 个结点的树中有 n-1 条变边。

D为 A B 结点的子孙结点,A B 为D 的祖先结点;D是B 的孩子结点,B是D E 的双亲结点,D E 是 B 的孩子结点,E和D互为兄弟结点。

 

【结点的度】

 

 定义: 结点的子节点的个数。

A结点的子节点为  B  C 结点,所以 A结点的度的 D(A) = 2, C结点的度为 D(C) = 1   ... D结点的度为 D(D) = 0(应为D没有子结点)。

树的度 = max(D(X))     X = {A B C D E F}   所以上图中,树的度为 2。

D(X) = = 0 的结点为 叶子结点; D(X) > 0 的结点为分支结点。

 

 【树的高度与深度】

树的高度等于树的深度 等于 树中结点的最大层次

H(T) = D(T) = MAX(L(x))    x = {A B C ... M}

 

【有序树 与 无序树】 

无序树的话,上面两颗树相同。

若为有序树,则上面两棵树不相同,第一张图中 H为D 的左子树 ,而在第二张图中,H 为 D 的右子树。

 

【路径 路径长度】 

 

 

路径:两个结点间的结点所构成的序列 A H 结点的路径为 A B D H ; 路径是有向的,方向为 自上而下。

路径长度:路径所构成的的数量,A H 的路径长度为 3,分别为 A->B  B -> D D->H

【森林】 

 

 多棵树 组成 森林。

 森林追加 一个共同的根结点构成树。

 

 【树的性质】

1 . 树的结点数 = 所有结点的度 + 1 ,  其中 1 为根结点

2. 度为 m 的树,第 i 层最多有 mi-1 个结点,如下图 满三叉树:

3. 高度为h的m叉树,最多有D 个结点: 

等比数列求和:D = m0 + m1 + m2+ m3 + m4 + m5 + ... +mh-1  = (mh - 1)/ (m-1)

4 由性质3逆向推理:

n个结点的m叉树的最小高度为 h =  Γ logm(n(m-1)+1)  ,因为h为整数,所以取整,使用 取上界取整函数,原因及推导过程:

树的高度最小,那么,除最后一层,其它层都满,则有

(mh-1 - 1)/ (m-1)  < n <= (mh - 1)/ (m-1)           ==>     logm(n(m-1)+1)   <= h <  logm(n(m-1)+1) +1, 所以 h 为 logm(n(m-1)+1)的值  取上界整数。 层次从 1开始,若层次从0开始计算,则  logm(n(m-1)+1) -1  <= h <  logm(n(m-1)+1)  。

 

结束

posted @ 2021-02-03 15:03  雪域蓝心  阅读(350)  评论(0编辑  收藏  举报