云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器

云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器

ID:35532182

大小:61.13 KB

页数:8页

时间:2019-03-25

云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器_第1页
云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器_第2页
云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器_第3页
云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器_第4页
云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器_第5页
资源描述:

《云南大学软件学院数据结构实验六实验报告赫夫曼编码译码器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、云南大学软件学院数据结构实验报告(本实验项R方案受“教育部人才培养模式创新实验区(X3108005)”项目资助)实验难度:A口学期:任课教师:实验题目:实验五树及其应用小组长:联系电话:电子邮件:完成提交时间:年月口云南大学软件学院2010学年秋季学期《数据结构实验》成绩考核表学号:姓名:本人承担角色:课题分析,算法设计,程序编写,后期调试,完成实验报告综合得分:(满分100分)指导教师:(注:此表在难度为C时使用,每个成员一份。)云南大学软件学院2010学年秋季学期《数据结构实验》成绩考核表学号:姓名:本人承担角色:课题分析,算法设计,后期调试,完成实验报

2、告综合得分:(满分100分)指导教师:(注:此表在难度为C时使用,每个成员一份。)(下面的Data类〃用于本程序所需的频度表数组的生成以及调用HuffmanTree类〃用于构造Huffman树以及控制树的各项操作HuffmanTreeNode类〃用于构造Huffman树的节点抽象数据类型的功能规格说明:窗口初始化:privatevoidForm1_Load(objectsender,EventArgse)转换模式:privatevoidbutton1_Click(objectsender,EventArgse)privatevoidbutton1_Click

3、(objectsender,EventArgse)开始按钮:privatevoidbutton3_Click(objectsender,EventArgse)声明全局数组:publicmember[]allMembers=newmember[27];定义结构体数组:publicstructmember{publiccharch;〃保存频度字符publicintfrequentness;//保存频度}Data的构造函数(创建Huffman树)publicData()Data类中的寻找当前最大项函数:publicintFindMax()Data类屮的寻找当前第二

4、大项函数:publicintFindSecondMax()Data类中的计算当前有效项的数目的函数:publicintCount()HuffmanTreeNode类中创建节点的构造函数:publicHuffmanTreeNode(charch2,intfrequentness2)HuffmanTree类中定义的节点类型:publicHuffmanTreeNoderoot,p,r;HuffmanTree类中实例化一个Data类来构造频度表:publicDatafrequentnessTable;HuffmanTree类中的构造函数,创建一棵Huffman树:p

5、ublicHuffmanTree()HuffmanTree类中的成员函数,对于指定的字符实行中序遍历,遍历完之后逆向回溯得到该字符的Huffman编码:publicintSearchTree()HuffmanTree类中的两个节点变量,用于判断左右子树:publicintSearchTree()主程序模块伪代码说明:创建新的字母频度表:frequentnessTable=newData();创建栈来倒装输出赫夫曼编码:Stack<char>HuffmanCode=Stack<char>;退出程序:this.Close()子程序伪代码说

6、明(HuffmanTree):构建Huffman树:publicHuffmanTreeNoderoot,p,r;核心程序段(生成Huffman编码):while(r==root){r=p.parent;if(p==r.left)HuffmanCode.Push(T);//栈中存1elseHuffmanCode.Push(tO,);//栈中存0p=p.parent;}_返回栈中元素个数:publicintcount{get{returnlist.Count;})主程序模块与各子程序模块间的调用关系:ClassForml调用ClassData初始化程序所要的各项

7、数据。ClassForm1调用ClassHuffmanTree生成Huffman树并J1生成Huffman编码。ClassHuffmanTree调用ClassHuffmanTreeNode來初始化各个节点。ClassHuffmanTree调用ClassStack保存产生的编码并逆向输出。三、【实现描述(Implement)](30%)(本部分应包括:抽象数据类型具体实现的函数原型说明、关键操作实现的伪码算法、函数设计、函数间的调用关系,关键的程序流程图等,给出关键算法的时间复杂度分析。)①抽象数据类型具体实现的函数原型说明:1、节点类型;publicclas

8、sHuffmanTreeNode{publiccha

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

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

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