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

    数据结构课程设计--哈夫曼编码问题的设计和实现

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

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

    数据结构课程设计--哈夫曼编码问题的设计和实现

    1、 1 课程设计说明书(论文) 题 目 哈夫曼编码问题的设计和实现哈夫曼编码问题的设计和实现 课 程 名 称 数据结构课程设计数据结构课程设计 院(系、部、中心) 专 业 班 级 学 生 姓 名 学 号 设 计 地 点 指 导 教 师 设计起止时间:2008 年 6 月 2 日至 2008 年 6 月 6 日 成 绩 2 目录目录 1 问题描述 3 1.1 题目内容 . 3 1.2 基本要求 . 3 1.3 测试数据 . 3 2 需求分析 3 2.1 程序的基本功能 . 3 2.2 输入值、输出值以及输入输出形式 . 3 2.3 各个模块的功能要求 . 4 3 概要设计 5 3.1 所需的 AD

    2、T,每个程序中使用的存储结构设计说明(如 果指定存储结构请写出该存储结构的定义) . 5 3.2 主程序流程以及模块调用关系 . 5 3.3 各个模块的算法设计说明 . 5 4 详细设计 8 4.1 数据类型 . 8 4.2 函数调用 . 9 5 各个算法实现的源程序 9 6 调试分析 12 7 使用说明 13 8 测试结果 13 9 源程序 13 3 1 问题描述问题描述 1.1 题目内容 哈夫曼编码问题的设计和实现 输入一个英文字符串,对该字符串中各字符个数进行统计取得各字符的出现次数;以 其出现次数作为关键字建立哈夫曼树并进行编码,最后输出各个字符对应的码值。 1.2 基本要求 要求:设

    3、计存储结构、基本算法(主要采用程序流程图体现) ;完成基本算法的实现 代码;设计测试输入数据对程序进行测试,分析输出结果数据、算法的时间复杂度分析, 如有改进算法则提出算法的改进方法。 1.3 测试数据 测试数据三组: AAAABBBCCD(判断连续的字符串是否可行) AABBAABCDC(判断间段的字符串是否可行) AAAA BBBCCD(判断含空格的字符串是否可行) 2 需求分析需求分析 2.1 程序的基本功能 该程序大体上有两个功能: 1 输入任何一个字符串后,该程序能统计不同字符串的个数,并以不同字符串的个数 作为权值。 2 已知不同字母的权值,以该权值作为叶结点,构造一棵带权路径最小

    4、的树,对该树 从叶结点到根结点路径分支遍历,经过一个分支就得到一位夫曼编码值。 (规定哈夫曼 树中的左分支为 0,右分支为 1,则从根结点到每个叶结点所经过的分支对应的 0 和 1 组成的序列便为该结点对应字符的编码) 2.2 输入值、输出值以及输入输出形式 输入值 :AAAABBBCCD 输出值 :W =4 C=0 4 W=3 C=10 W=2 C=111 W=1 C=110 输入值 :AABBAABCDC 输出值 :W=4 C=0 W=3 C=10 W=2 C=111 W=1 C=110 输入值 :AAAA BBBCCD 输出值 :W=4 C=11 W=1 C=010 W=3 C=10 W

    5、=2 C=00 W=1 C=011 2.3 各个模块的功能要求 1 统计模块 任意输入一个字符串,不论字母是否相联,字符串中是否含空格都能统计出不同字 母的个数。 2 建立哈夫曼树模块 以统计的字符串个数作为权值,利用仿真存储结构,建立带权路径最小的树。 其中对结点的存储需要六个域,分别是 weight 域,flag域, parent 域,leftChild 域,rightChild 域。weight 域是对权值的存放,flag 域是一个标志域,flag=0 时表 示该结点尚未加入到哈夫曼树中,flag=1 时表示该结点已加入到哈夫曼树中。 3 哈夫曼编码模块 从哈夫曼树的叶结点到根结点路径分

    6、支逐步遍历,每经过一个分支就得到一 位哈夫曼编码。哈夫曼编码也利用仿真存储结构。 4 主函数模块 从屏幕上输入字符串,调用函数,输出每个字母的权值与编码。 5 3 概要设计概要设计 3.1 所需的 ADT,每个程序中使用的存储结构设计说明(如果指定存储结 构请写出该存储结构的定义) 抽象数据类型集合:在该程序中未用到抽象数据类型,主要用到的数据类型为 : int ,char 。 在哈夫曼树的建立与哈夫曼树的编码中用到仿真存储 3.2 主程序流程以及模块调用关系 输入字符串调用 count 函数申请内存空间调用 Haffman 调用 HaffmanCode输出权值与编码。 3.3 各个模块的算法设计说明 1 主函数模块 n y y n n y 开始 定


    注意事项

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




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