数据结构实验报告-树

数据结构实验报告-树

ID:41707244

大小:187.14 KB

页数:16页

时间:2019-08-30

数据结构实验报告-树_第1页
数据结构实验报告-树_第2页
数据结构实验报告-树_第3页
数据结构实验报告-树_第4页
数据结构实验报告-树_第5页
资源描述:

《数据结构实验报告-树》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构实验报告实验名称:实验二树学生姓名:高鹏班级:2011211123班内序号:19学号:2011211442口期:2012年11月28口1.实验要求利用二叉树结构实现赫夫曼编/解码器。基本要求:1、初始化(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立赫夫曼树2、建立编码表(CreateTable):利用已经建好的赫夫曼树进行编码,并将每个字符的编码输出。3、编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。4、译码(Decoding):利用已经建好的赫夫曼树对编码后的字符串进行译码,

2、并输出译码结果。5、打印(Print):以直观的方式打印赫夫曼树(选作)6、计算输入的字符串编码前和编码后的长度,并进行分析,讨论赫夫曼编码的压缩效果。测试数据:IlovedataStructure,IloveComputer0IwilltrymybesttostudydataStructure.2.程序分析2.1存储结构哈夫曼树2.2关键算法分析(1)构造哈夫曼树与编码表;(2)建立编码、解码、选择、逆置与打印函数;(3)输入需要编码的字符,选择出其屮权值最小的两个字符;(4)对字符进行编码并逆置;(5)打印出编码表和频度排序表。关键代码分析:1、主函数

3、:#include#include#include#includezzcolorConsole・h〃#include,zdsa.h"voidmain(){HANDLEhandle;//使用句柄初始化界面handie二initiate();WORDwColors[1],wColorsl[1],wColors2[1];wColors[0]二FOREGROU'DJBLUE

4、FOREGROUND一RED;wColorsl[0]二FOREGROUNDGREEN

5、FOREGROUNDRED;wColors2[0]

6、二FOREGROUND_GREEN

7、FOREGROUND_BLUE;for(inta=l;a<=3;a++)textout(handle,20,8,wColors2,1,"哈夫曼树欢迎您的到来;Sleep(500);textout(handle,20,&wColors2,1,"“);Sleep(500);}intflagl(0),flag2(0),flag3(0);wh订e(!flagl){system("CLS");//清屏flag2=0;textout(handle,20,3,wColorsl,1,"哈夫曼树欢迎您的到来;textout(handle,

8、20,7,wColors2,1,"请输入任意字符串,以#结束:");//得到字符数组intt(-1),k(0);char_s[100];arraya[100],aChange[100];for(inti=0;i<100;i++){cin>>a[i].data;_s[i]二a[i].data;a[i].mark=-l;aChange[i].mark=0;t++;if(a[i].data二二'#')break;}_s[t]二,,;〃得到字符的频度for(intj=O;j

9、j].data;aChange[k].mark=l;for(intl=j+l;l

10、mcpy(ar,st.c_str(),lcngth);ar[length]=,';stringstl=hu.Decode(ar,k);//设定菜单栏while(!flag2)system("CLS");textout(handle,20,5,wColors2,1,"1.输入的字符及频度textout(handle,20,7,wColorsl,1,"2・对应的哈夫曼树textout(handle,20,9,wColors2,1,"3.对应的哈夫曼编码表textout(handle,20,11,wColorsl,1,"4.对应的哈夫曼编码textout(h

11、andle,20,13,wColors2,1,"5.对应的字符串t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。