数据结构与算法实验报告 3霍夫曼树.docxVIP

数据结构与算法实验报告 3霍夫曼树.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与程序设计专题实验报告 实验报告 一、实验任务 实验题目:数据结构与程序设计专题实验二、实验内容 实验三:树的基本操作及基于霍夫曼树的编码/译码 (一)实验目的:掌握结构体、指针及二叉树的生成、遍历等操作掌握霍夫曼编码/译码的原理。 (二)基本要求:熟练掌握树的操作。 (三)内容提要:给定一段字符,构建霍夫曼树;根据该树求每个字符的编码,并对该段字符串进行编码;将得到的编码进行译码;基于该霍夫曼树,通过遍历算法来输出 该树中的叶子节点。 注:在实现时要求霍夫曼树的左右孩子的大小关系(左孩子节点值小于右孩子节点),在遍历的时候也可以为递归与非递归办法寻找叶子节点。 三、要点分析 题目中涉及的主要知识点: 1、本程序参考霍夫曼算法(由给定的权值构造赫夫曼树): 由给定的 n 个权值{w , w , w , …, w },构造具有 n 棵二叉树的集合 F 0 1 2 n-1 = {T , T , T , …, T },其中每一棵二叉树 T 只有一个带有权值 w 的根 0 1 2 n-1 i i 结 点,其左、右子树均为空。 重复以下步骤, 直到 F 中仅剩下一棵树为止: ① 在 F 中选取两棵根结点的权值最小的二叉树, 做为左、右子树构造一棵新的二叉树。置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。 ② 在 F 中删去这两棵二叉树。 ③ 把新的二叉树加入 F。 2、用构造赫夫曼树以完成赫夫曼编码: 把 d ,d ,…, d 作为叶子结点,把 w ,w ,…,w 作为叶子结点 1 2 n 1 2 n 的权,构造赫夫曼树。在赫夫曼树中结点的左分支赋 0,右 分支赋 1,从根结点到叶子结点的路径上的数字拼接起来就是这个叶子结点字符的编码。 3、译码的过程是分解电文中的字符串,从根出发,按字符‘0’或‘1’确定找左孩子或右孩子,直至叶子节点,便求得该子串相应的字符。 四、解题步骤 编程平台:Microsoft Visual C++ 6.0 编程平台应用: 第一步:打开 Microsoft Visual C++ 6.0 运行软件; 1

文档评论(0)

始终如一 + 关注
官方认证
文档贡献者

始终如一输出优质文档!

认证主体苏州市致远互联网科技有限公司
IP属地北京
统一社会信用代码/组织机构代码
91320582MA27GAWJ0R

1亿VIP精品文档

相关文档