1 / 15
文档名称:

哈夫曼树与哈弗曼编码1.docx

格式:docx   大小:144KB   页数:15页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈夫曼树与哈弗曼编码1.docx

上传人:shugezhang1 2022/6/8 文件大小:144 KB

下载得到文件列表

哈夫曼树与哈弗曼编码1.docx

相关文档

文档介绍

文档介绍:: .
湖南人文科技学院运算机科学技术系课程设计说明书课程名称:数据结构课程代码:408024题目:哈夫曼科的核心课程,而且是其他理工专业的热点选修课。数据结构研究的是世界上所有非数值量的信息结构及其处置方式,它不仅是运算机科学与技术相关专业十分重要的核心课程,也是应用数学、治理科学、环境计划等很多专业的一门重要基础课。所有的运算机系统软件和应用软件都要用到各类类型的数据结构。因此,关于所有想更好地运用运算机来解决实际问题得人们而言,仅把握几种运算机程序设计语言是难以应付众多复杂的课题的。要想有效地利用运算机、充分发挥运算机的性能,还必需学****和把握好数据结构的有关知识。打好《数据结构》这门课程的扎实基础,关于学****运算机专业的其他课程,如操作系统、编译原理、数据库治理系统、软件工程、人工智能等都是十分有利的。
本次课程设计的课题是哈夫曼树与哈弗曼编码,哈弗曼树是一种应用普遍的的数据结构,在文件紧缩中,依照个字符在文件中的频度不同(有的字符全然没显现),依照频度高,那么编码长,频度低那么编码短的原那么对个字符从头进行编码,从而在整体上是文件长度缩短,达到紧缩文件的目的。该设计是对输入的一申电文字符实现哈弗曼编码,再对哈夫曼码生成的代码申进行译码,输出电文字符。在该设计中把数据紧缩进程称作编码,解紧缩的进程称作译码。此程序中成立了哈弗曼树,并利用建好的哈夫曼树对文件中的正文进行编码,对文件中的代码进行译码,显示输出等功能。
本次课程设计的实例尽管比较简单,程序设计也不是很复杂,可是在课程设计之前咱们仍是做了很多预备的。例如,在网上和一些资料上查找哈弗曼树与哈弗曼编码的应用。由此咱们感觉本次程序的设计进程也是一个学****进程,更是对复杂程序的一个学****进程,还能培育咱们的数抽象能力。因此,咱们感觉这次课程设计是超级成心义的,能为咱们尔后学****面向进程的程序设计作一些铺垫。
二、设计目的与任务一、课程设计目的
本次课程设计教学所要求达到的目的:;并通过这次课程设计的训练,使学生巩固和加深对哈夫曼树与哈弗曼编码的明白得,利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和利用技术资料的技术,通过实际问题的分析设计、编程和调试,把握应用软件的分析方式和工程设计方式,能正确论述设计和实验结果。
二、课程设计的任务
问题描述:
,统计各字符显现的频度,输出结果
2. 利用字符显现的频度构造哈夫曼树
3. 确信和输出各字符的哈夫曼码
4. 输入一个由0和1组成的代码序列,翻译并输出与之对应的文体,假设最后的代码子序列不能译为文本,那么输出相关信息.
5. 达到加倍灵活的运用所学的理论和知识和方式,和独立分析和解决问题的能力;培育实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,慢慢成立正确的全局观念.
三、设计方案一、需求分析
1) 本程序利用count()函数实现文本频度计算。
通过PHtTreehuffman(intn,int*w)建哈夫曼树,tohuffmancode(char*ch,intn)译码,和decode(PHtTreehuff,char*ch解码二、概要设计一、大体操作:
Select(PHtTreepht,intpos,int*x1,int*x2)函数功能:找出权值最小及次小的节点m1,m2;x1,x2存储其指针huffman(intn,int*w)函数功能:建哈夫曼树count()函数功能:计算输入文本的频度huffmancode(PHtTreehuff,int*w,char*ch,intn)及tohuffmancode(char*ch,intn)函数功能:译码decode(PHtTreehuff,char*ch)函数功能:解码二、存储结构typedefstructHtNode(chardata;intweight;intparent,Ichild,rchild;}HtNode;typedefstructHtTree(structHtNodeht[MAXNODE+1];introot;}HtTree,*PHtTree;3、详细设计
在本次课程设计中,咱们用到了哈夫曼树与哈弗曼编码那个重要的数据结构。在实现程序的功能的时候,有很多重要的程序段是涉及此方面的:有哈弗曼树的成立,有关哈弗曼编码的译码与解码,另外还有确实是对输入文本的频度计算。重要的程序段如下。
1)
typedefstructHtNode
(cha