Huffman编码和解码以及排序.docx

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

一、?? 课程设计目   本课程设计的目的是使学生掌握数据结构的基本概念和算法分析方法,以提高学生的编程能力和解决实际问题的能力。 ? 二、?? 课程设计内容 设计一个程序,该程序具有下面功能: (1)能够选择合适的排序算法,如插入排序、归并排序或快速排序,依据该算法对某一数组进行排序,计算完成该操作所需时间。 (2)Huffman编码和解码。 程序界面如下: 1、主界面 ------------------------------------------------------------------------ 1.排序 2.Huffman编码和解码 3.退出 请选择操作类型(1—3): ------------------------------------------------------------------------ 2、排序界面 ------------------------------------------------------------------------ 1.插入排序 2.归并排序 3.快速排序 4.返回 5.退出 请选择操作类型(1—5): ------------------------------------------------------------------------ 是否打印排序前数组(Y/N): 是否打印排序后结果(Y/N): 排序所花时间:(按任意键返回) 3、编码解码界面 请输入字符串: 编码结果为: 解码结果为:(按任意键返回) 三、?? 课程设计要求 1、课程设计的程序必须用C/C++语言完成。 2、关键算法必须画出流程图。 3、要求写出软件分析和设计。分析部分包括功能需求和界面需求;设计部分包括算法的详细设计和数据结构(包括内存数据结构和文件结构)。 ? 四、??? 需求分析和模块设计 1、需求分析 ?? 程序要完成两大功能:一为内排序,二为Huffman编码与解码。而其中的排序又由三种方法实现,一是插入排序;二是归并排序;三是快速排序。 2、模块分解 ?? 把程序分成六大模块,分别是主界面,排序界面,插入排序,归并排序,快速排序,Huffman编码与解码。 3、详细设计 注:这部分对每个函数的功能进行定义,方式如下: 函数名称:menu( )  编号:001 函数功能:实现主界面 输入参数:无 输出参数:无 返回值:无 数据流程图 ------------------------------------------------------------------------------------------------------- 函数名称:sort( )  编号:002 函数功能:实现排序面 输入参数:无 输出参数:无 返回值:无 数据流程图 ------------------------------------------------------------------------------------------------------- 函数名称:inssort( )  编号:003?? 函数功能:实现插入排序 输入参数:要排序数组地址,数组长度 输出参数:无 返回值:无 数据流程图 ? ------------------------------------------------------------------------------------------------------- ? 函数名称:msort( )  编号:004??? 函数功能:实现归并排序 输入参数:要排序数组地址,临时数组地址,数组最左边位置,数组最右边位置, 输出参数:无 返回值:无 数据流程图 ?------------------------------------------------------------------------------------------------------- 函数名称:quicksort( )  编号:005????? 函数功能:实现快速排序 输入参数:要排序数组地址,数组最左边位置,数组最右边位置, 输出参数:无 返回值:无 ? 函数名称:huff( )  编号:006 函数功能:实现Huffman编码与解码 输入参数:建树的字符个数,字符和它的权值 输出参数:无 返回值:无 4、数据结构 ? 插入排序:L ?? i=1?? 2?? 3? 4?? 5?? 6?? 7 42 20 17 13 13 13 13 13 20 42 20 17 17 14 14 14 17 17 42 20 20 17 17 15 13 13 13 42 28 20 20 17 28 28 28 28 42 28 23 20

文档评论(0)

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

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

1亿VIP精品文档

相关文档