77范文网 - 专业文章范例文档资料分享平台

赫夫曼编码(3)

来源:网络收集 时间:2019-02-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

if(m==h[i].ch){ for(int j=code[i].start;j

//将输入的字符实现译码 void decoding(){ fstream fin(\ //读入要译码的文件 fstream fout(\ //将代码译码后放入到文件中 int a=0; char c[500],ch=NULL; int k=0,m=0,i=0; //将CodeFile.txt文件的编码读入 fin>>c; for(i=0;i>str; k=len-code[i].start; for(int a=0;a

}

//选做1:实现印代码文件 void Print(){ fstream fin(\ fstream fout(\ char ch; int sum=0; cout<<\印代码文件输出如下:\ while(fin.get(ch)!=NULL){ //控制输出的字符个数 sum++; cout<

//选做二:用递归算法实现哈夫曼树的直观输出

fstream fout(\ //建立存储的文件

void TreePrint(int m,int n){ //递归算法实现哈夫曼树的输出 if(h[m].weight==0.0) {return;} TreePrint(h[m].rchild,n+1); for(int i=0;i

//主函数

void main(){ //界面设计 cout<>\ cout<<'\\t'<<\ 请输入你的选择\

cout<<'\\t'<<\ *********I:建哈夫曼树*********\ cout<<'\\t'<<\ *********E: 编码 *********\ cout<<'\\t'<<\ *********D: 译码 *********\ cout<<'\\t'<<\ *********P:印代码文件*********\ cout<<'\\t'<<\ *********T:印赫夫曼树*********\ cout<<'\\t'<<\ *********Q: 退出 *********\ cout<<'\\t'<<\ ---------------------------------------------------------\ char choose; cout<<\注意大写):\ cin>>choose; switch(choose){ //功能选择 case 'I':Initialization();break; //初始化哈夫曼树 case 'E':Encoding();break; //哈夫曼编码 case 'D':decoding();break; //哈夫曼译码 case 'P':Print();break; //印代码文件 case 'T':cout<<\输出的直观哈夫曼树如图:\ //哈夫曼树的树形输出 TreePrint(2*leaves-2,0); fout.close(); cout<

六、 调试分析

1) 测试一

? 开始界面

利用输入输出控制,将页面设计的比较友好,但是只是简单利用输入输出,并未涉及很多的输入输出格式控制,有待提高。

? 初始化哈夫曼树

先输入结点个数,并且字符支持输入空格字符,时间复杂度为o(n)。算法采用书本上的,无出现任何异常。只是可以进一步改进,加入异常处理机制,来处理异常的输入情况。

? 哈夫曼编码

利用循序查找已有hfmtree文件中的字符实现编码的作用,时间复杂度最大为O(n*n),调试中主要出现读入字符的问题,刚开始想用字符数组存储结构,但是并不需这么复杂,只需一个一个读入再加以比较就好了。

? 哈夫曼译码

译码属于这个程序中比较难得部分,因为其中涉及了字符串编码和字符编码的读入并且还需要一个一个加以比较。此程序主要利用将叶子结点一个一个的编码与取出的等长德字符串编码进行比较,相同则将字符保存进文件中,不同则进行下一项比较。时间复杂度视输入的字符数而定。此算法应该还能更加简化,减少其复杂度。

? 印代码文件

主要就是将文件读入内存,然后加上一个换行判断标志即可。时间复杂度为O(n),n为字符串编码的个数。

? 印哈夫曼树

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库赫夫曼编码(3)在线全文阅读。

赫夫曼编码(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/478739.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: