欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    《数据结构课程设计》赫夫曼编码实验报告

    • 资源ID:1411522       资源大小:80KB        全文页数:15页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    《数据结构课程设计》赫夫曼编码实验报告

    1、 - 1 - 数据结构课程设计 实验报告 赫夫曼编码 实验课程名称 数据结构课程设计 专 业 班 级 11 级计科(2)班 学 生 姓 名 学 号 指 导 教 师 实 验 时 间 : 2013 年 9 月 24 日 2013 至 2014 学年第 1 学期第 1 至 9 周 - 2 - 目目 录录 一、概述 1 二、系统分析 1 三、概要设计 2 四、详细设计 4 4.1 赫夫曼树的建立 4 4.1.1 选择选择 parent 为 0 且权值最小的两个根结点的算 法 5 4.1.2 统计字符串中字符的种类以及各类字符的个数 . 6 4.1.3 构造赫夫曼树 8 4.2 赫夫曼编码 9 4.2.

    2、1 赫夫曼编码算法 . 10 4.2.2 建立正文的编码文件 . 11 五、运行与测试 . 12 六、总结与心得 . 13 1 一、概述一、概述 本设计是对输入的一串电文字符实现赫夫曼编码,再对赫夫曼编 码生产的代码串进行译码,输出 电文字符串。 在当今信息爆炸时代, 如何采用有效的数据压缩技术节省数据文 件的存储空间和计算机网络的传送时 间越来越引起人们的重视,赫 夫曼编码正是一种应用广泛且非常有效的数据压缩技术。 二、系统分析二、系统分析 赫夫曼编码的应用很广泛, 利用赫夫曼树求得的用于通信的二进 制编码成为赫夫曼编码。树中从根到 每个叶子都有一条路径,对路 径上的各分支约定:指向左子树的

    3、分支表示“0”码,指向右子树的 分支表示 “1”码,取每条路径上的“0”或“1”的序列作为和每个 叶子对应的字符的编码,这就是赫夫曼编码。 通常我们把数据压缩的过程称为编码,解压缩的过程称为解码。 电报通信是传递文字的二进制码形式 的字符串,但在信息传递时, 总希望总长度能尽可能短,即采用最短码。 假设每种字符在电文中出现的次数为 W i ,编码长度为 L i ,电 文中有 n 种字符,则电文编码总长为W i L i 。 若将此对应到二 叉树上,W i 为叶节点的权 ,L i 为根节点到叶节点的路径长度。 2 那么,W i L i 恰好为二叉 树上带权路径长度。 因此,设计电文总长最短的二进制

    4、前缀编码,就是以 n 种子符 出现的频率作权,构造一刻赫夫曼树, 此构造过程成为赫夫曼编码。 根据设计要求和分析,要实现设计,必须实现以下方面的功能: (1) 赫夫曼树的建立; (2) 赫夫曼编码的生成; (3) 编码文件的译码; 三、概要设计三、概要设计 void main() void HufffmanEncoding(HuffmanTree HT,HuffmanCode HC)/编码部 分 char *decode(HuffmanCode Hc)/译码 void ChuffmanTree(HuffmanTree HT,HuffmanCode HC,int cnt,char str) /生

    5、成 Huffman 树 void select(HufmanTree HT,int k,int int lchild,rchild,parent; HTNode; T typedef HTNode HuffmanTreem+1; 5 4.1.1 选择选择选择选择 parent 为为 0 且权值最小的两个根结点的算且权值最小的两个根结点的算 法法 void select(HuffmanTree T,int k,int *s1,int *s2) /在 HT1k中选择 parent 为 0 且权值最小的两个根结点,其 开始 结束 第 i 个结点权值 i=num? 创建赫夫曼树 输出字符统计情 第 i

    6、 个根结点 i=2*num-1? i=num? 否 是 否 是 否 是 6 序号分别为 S1 和 S2 int i,j; int min1=100; for(i=1;i=k;i+)/查找 s1 if(Ti.weightmin1 min1=Ti.weight; *s1=j; min1=32767; for(i=1;i=k;i+)/查找 s2,不和 s1 相同 if(Ti.weightmin1 min1=Ti.weight; *s2=j; 4.1.2 统计字符串中字符的种类以及各类字符的个数统计字符串中字符的种类以及各类字符的个数 假设电子文件字符串全是大写字母,那么该算法的实现思想是: 先定义一个含有 26 个元素的临时整型数组,用来存储各种字母出现 7 的次数。应为大写字母的 ASCII 码与整数 126 个元素之间相差 64, 因此在算法中使用字母减去 64 作为统计数


    注意事项

    本文(《数据结构课程设计》赫夫曼编码实验报告)为本站会员(课***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583