返 回 上一页

一、根树

二、r元树

根树及其应用

重点1、有向树及根树的定义,

   2、家族树,有序树, 元树的概念,

   3、最优 元树的概念及哈夫曼 算法。

一、根树

1有向树:一个有向图 ,若略去有向边的方向所得的无向图为一棵无向树,则称 有向树

2根树:一棵非平凡的有向树,如果有一个顶点的入度为 ,其余顶点的入度均为 ,则称此有向树为根树。入度为 的顶称为树根 入度为1、出度为0的顶点称为树叶;入度为1、出度大于0的顶点称为内点,内点和树根统称为分支点

注意:根树的画法可以是任意的,但常将根画在最上方,这时,有向边的方向均指向下方,故可略去其方向。

  1

  

  根树(1)可画成(2),其中,

                  …………树根

       …………树叶

             …………内点

3、树高。

   的层数——从树根到顶点 的通路长度,记

  树高——树中顶点的最大层数,记

  如例1中, 层, 在第 层上, 在第 层上, 在第 层上,树高为

4、家族树。

  一棵根树可以看成一棵家族树

  (1) 若顶点 邻接到顶点 ,则称 儿子 父亲

  (2) 同为 的儿子,则称 兄弟

  (3) ,而 可达 ,则称 祖先 后代

5、根子树。 

  树 根子树—— 的非树根的顶点 及其后代导出的子图。

  2

   

  上图的根树 中, 为兄弟,它们都是 的儿子,而 又有儿子 有儿子 的祖先, 的后代,……。

   的根子树。

二、 元树

1有序树——每一层上都规定次序的根树。

  次序可排在顶点处,也可排在边上,一般从左到右。

2 元树——每个分支点至多有 个儿子的根树。

   元正则树——每个分支点恰有 个儿子的根树。

   元有序树—— 元树,且是有序树。

   元有序正则树—— 元正则树,且是有序树。

   元完全正则树—— 元正则树,且所有树叶的层数相同 (等于树高)

   元有序完全正则树—— 元正则完全树,且是有序树。

  注意: 元有序正则树是最重要的一种 元树。

  3

   

  上图中,(1) 元有序树,(2) 元有序正则树,(3) 元有序完全正则树。

3、最优 元树。

  (1)定义:设 元树 片树叶,分别带权为 ( 为实数, ),称 ,其中 为带权 的树叶 的层数,在所有的带权 元树中,带权最小的 元树称为最优 元树

  4

  

  上图中的 都是带权 元树,求

  解:

    

    

  显然, ,但还不能判定 是最优 元树。

  (2) 求最优 元树的算法。

    算法:

   给定实数 ( 片树叶的权),且

    连接 为权的两片树叶,得一分支点,其权为

    中选出两个最小的权,连接它们对应的顶点 (不一定都是树叶),得分支点及所带的权。

    重复 ,直到形成 个分支点, 片树叶为止。

  5求带权 的最优 元树

  解:

  上图(1)(2)(3)(4)即求最优 元树的过程,其中(4)为最优 元树。

  

  其实 等于 的各分支点的权之和 (思考:为什么?),即

  

  比较例4,例5知,例4 也是带权为 的最优 元树,因为 也是 ,可见,最优树是不唯一的,但 算法得到的树一定是最优树。

  6(1) 求带权为 的最优 元树

     (2)

     (3) 的高度

     (4) 的树叶有多少?

     (5) 度顶点, 度顶点, 度顶点各有多少?

  解:(1)

    (2)

    (3)

    (4) 的树叶有 片,

    (5) 度顶点 (即树根)

      度顶点 (即内点)

      度顶点 个。

4、求最佳前缀码。

  最优 元树的用途之一是求最佳前缀码。

  在通讯中,我们常用 的符号串作为英文字母的传送信息, 个英文字母被使用的频率往往是不同的。为了使整个信息的长度尽可能短,自然希望用较短的符号串去表示使用频率高的英文字母,用较长的符号串表示使用频率低的英文字母。为了使编码在使用中既快速又准确,可以用求最优 元树的 算法解决这个问题。

返 回 上一页