欢迎来到天天文库
浏览记录
ID:6327241
大小:212.50 KB
页数:17页
时间:2018-01-10
《数据结构课程设计-哈夫曼树的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、武汉理工大学华夏学院课程设计报告书课程名称:数据结构课程设计题目:哈夫曼树的应用系名:信息工程系专业班级:计算机科学与技术姓名:学号:指导教师:2011年7月1日17课程设计任务书学生姓名:专业班级:计算机指导教师:工作单位:信息工程系题目:哈夫曼树的应用初始条件:理论:学习了《数据结构》课程,掌握了基本的数据结构和常用的算法;实践:信息工程系实验室提供计算机及软件开发环境。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、系统应具备的功能:(1)输入一组数据建立哈夫曼树(2)设计哈夫曼码(3)实现译码2、数据结构设计;3、主要算法设计;4、编程及上
2、机实现;5、撰写课程设计报告,包括:(1)设计题目;(2)摘要和关键字;(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试等;(4)结束语;(5)参考文献。时间安排:2011年6月27日-2011年7月1日(第19周)星期一查阅资料星期二系统设计,数据结构设计,算法设计星期三-星期四编程并上机调试星期五撰写报告星期五验收程序,提交设计报告书。指导教师签名:2011年6月27日系主任(或责任教师)签名:2011年6月27日17目录1引言…………………………………………………………42需求分析…………………………………………………43数据结构与算法设计3.1数据结构设
3、计…………………………………………53.2算法设计………………………………………………54程序的实现…………………………………………………………………85程序测试…………………………………………………………………146结束语6.1设计体会………………………………………………166.2心得体会………………………………………………16参考文献…………………………………16171.引言数据结构是计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构及其相应的算法并初步掌握算法的时间分析和空间分析的技术。
4、数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。而此次课程设计通过对哈夫曼树的概念、构造算法的理解,进行编码,从而掌握赫夫曼树的编码原则。2.需求分析数据的读入﹑存储,生成文件,将键盘输入的信息存入
5、指定的文件中;设计一程序求解此问题.霍夫曼(Huffman)编码原理是一种利用二叉树实现的编码原理霍夫曼(Huffman)编码是1952年为文本文件而建立,是一种统计编码。属于无损压缩编码。霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。锻炼我们的编码能力,真正理解数据结构的编码思想,并且锻炼我们的动手能力和成员间的配合,提高程序编写能力。在信息传递时,希望长度能尽可能短,即采用最短码。赫夫曼编码的应用,就是采用这种有效的数据压缩技术可以节省数据文件的存储空间和计算机网络的传送
6、时间。173.数据结构与算法设计3.1数据结构设计,,为包含的库函数#defineNAMEMAX20#defineCODEMAX30定义最大值typedefunsignedintUINT;typedefcharNAME[NAMEMAX];typedefcharCODE[CODEMAX];定义各量类型voidmenu();/*定义menu菜单*/voidinput();/*输入函数*/voidHuffmanCoding(HuffmanTree*HT,NAME*str,int*w,intn)建立哈夫曼树intHuffmanCodi
7、ng(HuffmanTree*HT,NAME*str,int*w,intn)构建哈夫曼编码 typedefstruct{ NAMEname;/*字符*/ CODEcode;/*编码*/ UINTweight;/*权值*/ UINTparent,lchild,rchild;/**/}HTNode,*HuffmanTree; 3.2算法设计哈夫曼树编码算法:voidHuffmanCoding(HuffmanTree*HT,NAME*str,int*w,intn
此文档下载收益归作者所有