1 / 18

离散数学

离散数学. 武夷学院数学与计算机系教授 张廷枋 25. 第八章 树. 8.3 有向树和根树 二、二叉树 1. 二叉树定义 定义: m=2 时, m 叉树称为二叉树;二 叉有序树的每一个分支点 至多有两棵子 树,分别称为 的左子树和右子树 。 (注意:以 为树根的子树包含 ,而 的左、右子树不包含 。) 例:. 第八章 树.

neila
Download Presentation

离散数学

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 离散数学 武夷学院数学与计算机系教授 张廷枋 25

  2. 第八章 树 8.3有向树和根树 二、二叉树 1. 二叉树定义 定义: m=2 时,m 叉树称为二叉树;二 叉有序树的每一个分支点 至多有两棵子 树,分别称为 的左子树和右子树。 (注意:以 为树根的子树包含 ,而 的左、右子树不包含 。) 例:

  3. 第八章 树 8.3有向树和根树 二、二叉树 2. 任何一棵有序根树,甚至有序森林都可 以变换成一棵对应的二叉树。把一棵有序树变 成二叉树,其方法如下: (1)从树根的顶点开始逐层讨论,每一 层都按照从左到右顺序; (2)保留父亲和左儿子的连线,取消父 亲和其他儿子的连线,兄弟之间用从左到右 的有向边连接;

  4. 第八章 树 8.3有向树和根树 二、二叉树 把一棵有序树变成二叉树,其方法如下: (3)处于指定顶点 下面一层的左顶点 作为该顶点的左儿子,与 同层的右顶点作 为 的右儿子。(换种说法:若指定顶点是 前一顶点的左儿子,在二叉树中作为指定顶 点的左儿子;若指定顶点与前一顶点为兄弟,在二叉树中作为指定顶点的右儿子, 弟弟恒为右儿子。) 例:

  5. 第八章 树 8.3有向树和根树 二、二叉树 用二叉树表示有序树的方法可以推广到 有序森林中去,其方法如下: (1)先将森林中的每一棵有序根树表示 成二叉树; (2)再用一条有向边把各支的根按从左 到右的顺序连接起来,逐次将右边的二叉树 作为左边的二叉树的根的右子树。

  6. 第八章 树 8.3有向树和根树 二、二叉树 3. 内部通路长度和外部通路长度 定义:在根树中,由树根到各分支点的 路长称为内部通路长,由树根到树叶的路长 称为外部通路长。若 是根树的任意顶点, 树根到 的路径长度称为顶点 的距离,它 是内部通路长或外部通路长,记为 。 树中最大的顶点途径长度称为根树的树高。

  7. 第八章 树 8.3有向树和根树 二、二叉树 4. 定理:在一个分支点数目为 的完全 二叉树中,设 表示各分支点途径长度之 和, 表示各树叶的途径长度之和,则 证明: (定理中的 和 又常分别叫做树的内部通路长度之和与外部通路长度之和。)

  8. 第八章 树 8.3有向树和根树 三、最优二叉树 1. 定义:设 T 是具有 t 片树叶的二叉树, 各树叶分别带权 ,则称 T 为 赋权二叉树。在赋权二叉树中,设各树叶的权 满足 ,设各树叶的路长分 别为 称为二叉 树的权,记为 。

  9. 第八章 树 8.3有向树和根树 三、最优二叉树 1. 定义:在所有以 为树叶 的权而构造的具有 t 片树叶的二叉树中,权 具有最小值的二叉树,称为带权 的最优二叉树 。

  10. 第八章 树 8.3有向树和根树 三、最优二叉树 2. 定理( Huffman 算法) 在带权为 的最优二叉 树中,必有 T 满足: (1)权为 是兄弟; (2)设 的父亲是 ,若从 T 中删去 ,并把 改成带权为 的叶之后的树记为 ,则 是带权为 的最优二叉树 。

  11. 第八章 树 8.3有向树和根树 2. ( Huffman 算法) 根据这一定理,要构造带 t 个权 的最优二叉树,可以归 结为构造带 t-1 个权 的最 优二叉树,设这 t-1 个权的不减序列为 ,则构造上述 t-1 个权的 最优树又可以归结为构造带 t-2 个权 的最优树,如此等等。 例:

  12. 第八章 树 8.3有向树和根树 四、二叉树的应用----前缀码 1. 定义:在由 0 , 1 序列构成的合集 中,若没有一个序列是另一个序列的前缀, 则称这个集合为前缀码。 例:

  13. 第八章 树 8.3有向树和根树 四、二叉树的应用----前缀码 前缀码与二叉树的编码有着密切的关系。 2. 定理:任意一个二叉树,可以产生唯 一的前缀码。 证明: 例:

  14. 第八章 树 8.3有向树和根树 四、二叉树的应用----前缀码 前缀码与二叉树的编码有着密切的关系。 3. 定理:任意一个前缀码,都对应一棵 二叉树。 证明: 例:

  15. 第八章 树 8.3有向树和根树 五、二叉树的遍历 • 对于一棵根树的每一个顶点都访问一次且仅一次称为遍历或周游一棵树。 • 对于二叉树主要有以下三种遍历方式: (1)先根次序遍历( DLR )法:访问根;按先根次序遍历根的左子树;按先根次序遍历根的右子树。

  16. 第八章 树 8.3有向树和根树 五、二叉树的遍历 • 对于二叉树主要有以下三种遍历方式: (2)中根次序遍历( LDR )法:按中根次序遍历根的左子树;访问根;按中根次序遍历根的右子树。 (3)后根次序遍历( LRD )法:按后根次序遍历根的左子树;按后根次序遍历根的右子树;访问根。 例:

  17. 第七章 图论 作业:P219-P220 , 习题八 8.31、8.33、8.34、 8.35(1)(2)(3)、 8.36 预习:第9章 §9.1

  18. 谢谢!Thank you!

More Related