哈夫曼编码译码器应用开题报告_第1页
哈夫曼编码译码器应用开题报告_第2页
哈夫曼编码译码器应用开题报告_第3页
哈夫曼编码译码器应用开题报告_第4页
哈夫曼编码译码器应用开题报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

组员:朱开波,任霞芳陈龙祥,朱燕目录意义·应用算法分析可行性分析预期结果任务分配21.1意义Part1Part2Part3Part4Part5

哈夫曼编码(HuffmanCoding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。哈夫曼编码的算法#defineMAXBIT10/*定义哈夫曼编码的最大长度*/typedefstruct{intbit[MAXBIT];intstart;}HCodeType;voidHaffmanCode(){/*生成哈夫曼编码*/HNodeTypeHuffNode[MAXNODE];HCodeTypeHuffCode[MAXLEAF],cd;inti,j,c,p;HuffmanTree(HuffNode);/*建立哈夫曼树*/for(i=0;i<n;i++)/*求每个叶子结点的哈夫曼编码*/{cd.start=n-1;c=i;p=HuffNode[c].parent;while(p!=0)

{if(HuffNode[p].lchild==c)cd.bit[cd.start]=0;elsecd.bit[cd.start]=1;cd.start--;c=p;p=HuffNode[c].parent;}for(j=cd.start+1;j<n;j++)/*保存求出的每个叶结点的哈夫曼编码和编码的起始位*/HuffCode[i].bit[j]=cd.bit[j];HuffCode[i].start=cd.start;}for(i=0;i<n;i++)/*输出每个叶子结点的哈夫曼编码*/{for(j=HuffCode[i].start+1;j<n;j++)printf(“%ld”,HuffCode[i].bit[j]);printf(“\n”);}}41.1应用Part1Part2Part3Part4Part5猜字游戏:-------------------你猜我猜,你猜不猜规则:1,给出规定好的26个字母所对应的哈弗曼编码;2,电脑给出一串由0、1组成的字符串;3,玩家根据编码规则将其翻译为英文单词或句子4,翻译结果正确,则进行下一题,若翻译错误,则游戏结束。2.算法分析Part1Part2Part3Part4Part51、voidhfmcoding(hfmtree&HT,hfmcode&HC,intn)初始化哈夫曼树,处理InputHuffman(HuffmanHfm)函数得到的数据,按照哈夫曼规则建立2叉树。此函数块调用了Select()函数。2、intmain()主函数:利用已建好的哈夫曼树(如不在内存,则从文件hfmtree.txt中读入)对文件中的正文进行编码,然后将结果存入文件codefile.txt中。

3、Encoding编码功能:对输入字符进行编码4、Decoding译码功能:利用已建好的哈夫曼树将文件codefile.txt中的代码进行译码,结果存入文件textfile.dat中。6算法流程图哈夫曼编码译码器初始化编码译码退出73.可行性分析Part1Part2Part3Part4Part5哈弗曼编码进行快速远距离通信的主要手段是电报,即将需传送的文字转换成由二进制的字符组成的字符串。在传送报文的时候,总是希望总长尽可能的短,这就要用到哈夫曼编码。此款app,以电报原理为基础,大大提升了编码译码的效率3.2实施过程中可能遇到的问题Part1Part2Part3Part4Part5其一、哈夫曼算法问题模型复杂,参数太多,以至于难以达到优化的目的;其二、约束条件复杂,繁多,算法收敛的时候很难满足约束条件;其三、运算的参数设定更多的依靠经验,缺乏通用性和理论指导;其四、能否运用简单高效的方法解决该课题;其五、课题中可能存在现阶段解决不了的数学问题。93.3解决方法和措施Part1Part2Part3Part4Part5第一、合理的安排和利用时间,提高自主学习的主动性;第二、加强自学能力,尽可能快的熟悉相关语言编程;第三、提高资料搜索能力,能够从检索出的大量信息中筛选与提炼与课题相关内容;第四、尽量在不影响结果的前提下简化计算,提高运算速度;第五、对于未能解决的问题,做出预测,并提供可能解决方案。104.预期结果Part1Part2Part3Part4Part51、规定好相关英文字母的二进制编码。2、电脑根据程序员事先输入的英文字串,给出哈夫曼编码值。3、玩家根据哈夫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论