哈夫曼树及其应用教案.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈夫曼树及其应用教案

授课时间 11.9 第 17 次课 授课章节 6.6哈夫曼树及其应用 任课教师 及职称 郑志华 教学方法 与手段 多媒体 课时安排 2 使用教材和 主要参考书 《数据结构》(C语言版)严蔚敏著,清华大学出版社 教学目的与要求: 哈夫曼树及其应用, 构造哈夫曼树、哈夫曼编码的方法及带权路径长度的计算; 教学重点,难点: 哈夫曼树及其应用,构造哈夫曼树、哈夫曼编码的方法及带权路径长度的计算; 教学内容: 6.6. 6.6.1 最优二叉树(Huffman树) 哈夫曼树又叫最优二叉树,它是由n个带权叶子结点构成的所有二叉树中带权路径长度WPL最短的二叉树。1、基本术语 ?路径和路径长度 ?树的路径长度 ? 结点的权和带权路径长度 ? 树的带权路径长度 ? Huffman树(最优二叉树) 路径:若在一棵树中存在着一个结点序列k1,k2 … kj,使得 ki 是k i+1(1(ij) 的父亲,则该结点序列是k1 到kj的路径 路径长度:从k1 到kj所经过的分支数称为这两点间的路径长度 。 ?树的路径长度:树中每个结点的路径长度之和。 ?结点的权:树中的结点赋予的一定意义上的实数称之为该结点的权 ?树的带权路径长度定义为:树中所有叶子结点的带权路径长度之和WPL(T) = (wkLk (对所有叶子结点)。 在所有含 n 个叶子结点、并带相同权值的 m 叉树中,必存在一棵其带权路径长度取最小值的树,称为“最优树”。 最优二叉树(也称Huffman树):它是n个带权叶子结点构成的所有二叉树中带权路径长度 WPL最小的二叉树。 2、为何要构造哈夫曼树 3、如何构造哈夫曼树 哈夫曼算法 : (1)根据给定的 n 个权值 {w1, w2, …, wn},构造 n 棵二叉树的集合 F = {T1, T2, … , Tn}, 其中每棵二叉树中均只含一个带权值 为 wi 的根结点,其左、右子树为空树; (2)在 F 中选取其根结点的权值为最小的两棵二叉树,分别作为左、右子树构造一棵新的二叉树,并置这棵新的二叉树根结点的权值为其左、右子树根结点的权值之和; (3)从F中删去这两棵树,同时加入刚生成的新树; (4)重复 (2) 和 (3) 两步,直至 F 中只含一棵树为止。 例1: 已知权值 W={ 6,7,2,3,5,11,12 }, 试构造一棵哈夫曼树,并求加权路径长度 6.6.2哈夫曼编码 1、问题的提出 通讯中常需要将文字转换成二进制字符串电文进行传送。文字 电文,称为编码。 反之,收到电文后要将电文转换成原来的文字,电文 文字,称为译码。 反之,收到电文后要将电文转换成原来的文字,电文 文字,称为译码。 设有n种字符,每种字符出现的次数为Wi ,其编码长度为Li ( i=1,2,…n),则整个电文总长度为∑ Wi Li ,要得到最短的电文,即使得∑ Wi Li最小。也就是以字符出现的次数为权值,构造一棵 Huffman树,并规定左分支编码位0,右分支编码为1,则字符的编码就是从根到该字符所在的叶结点的路径上的分支编号序列。 用构造Huffman树编出来的码,称为Huffman编码。 2. 哈夫曼编码的构造方法 (1).构造Huffman 树 (2).产生Huffman 编码 复习思考题、作业题: 已知某系统在通信联络中只可能出现8种字符,其概率分别为 0.05, 0.29, 0.07, 0.08, 0.14, 0.23, 0.03, 0.11 试设计哈夫曼编码 下次课预习要点 图 实施情况及教学效果分析 按预定计划顺利进行,效果良好 学院审核意见 该教案教学目的明确,教学内容先进,课时设计合理,重点那点把握准确,符合信息学院教学要求,同意实施。 学院负责人签字 刘方爱 年 月 日 哈夫曼树的构造过程中应注意的问题 2007-07-18   哈夫曼树(Huffman树)是带权路径长度最小的二叉树。根据哈夫曼树的定义,一棵二叉树要使其带权路径长度最小,必须使权值越大的叶子结点越靠近根结点,而权值越小的叶子结点越远离根结点。哈夫曼依据这一特点提出了哈夫曼算法,其基本思想是:    初始化:由给定的n个权值{w1,w2,…,wn}构造n棵只有一个根结点的二叉树,从而得到一个二叉树集合

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档