赫夫曼编码问题实习报告

赫夫曼编码问题实习报告

ID:24697932

大小:87.51 KB

页数:3页

时间:2018-11-16

赫夫曼编码问题实习报告_第1页
赫夫曼编码问题实习报告_第2页
赫夫曼编码问题实习报告_第3页
资源描述:

《赫夫曼编码问题实习报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实习报告――赫夫曼编码问题实习报告题目:赫夫曼编码问题班级:0003201班姓名:朱吉学号:040310207完成日期:2005.05.05一、需求分析利用二叉树进行字符编码,用户提供字符的权值,程序根据权值利用赫夫曼编码方法建立二叉树,通过二叉树得到字符的编码。用户可以输入文本,保存时,程序会自动检查各字符是否已有编码方案,若文档中出现为编码的字符,程序会提示用户;若文档中的每一个字符都有编码,则程序会利用用户提供的编码方案对文档进行编码并保存。程序界面如下:二、概要设计1.字符编码的存储结构定义

2、:structCode{charCharacter;intPriority;3实习报告――赫夫曼编码问题Code(){Character='';Priority=-1;}Code(constcharCHAR,constPRIORITY){Character=CHAR;Priority=PRIORITY;}};2.二叉树节点的定义:classTNode{private:CodeEncode;//StoringtheencodeintParent;//StoringtheparentintLChil

3、d;//StoringtheleftchildtreeintRChild;//StoringtherightchildtreestaticintCAmount;//Storingtheamountofthecharacterspublic:TNode();//DefaultconstructorTNode(constCode&ENCODE);//OverloadedconstructorTNode(constTNode&NODE);//Copyconstructor~TNode();//Destru

4、ctorvoidInitial();//InitialthevariablesCodegetEncode()const;//ReturntheencodechargetCharacter()const;//ReturnthecharacterintgetPriority()const;//ReturnthepriorityintgetParent()const;//ReturntheparentintgetLChild()const;//ReturntheleftchildtreeintgetRCh

5、ild()const;//ReturntherightchildtreevoidsetEncode(constCode&ENCODE);//StoretheencodevoidsetCharacter(constcharCHAR);//StorethecharactorvoidsetPriority(constintPRIORITY);//StorethepriorityvoidsetParent(constintPARENT);//StoretheparentvoidsetLChild(const

6、intLCHILD);//StoretheleftchildtreevoidsetRChild(constintRCHILD);//StoretherightchildtreeTNode&operator=(constTNode&NODE);//Overloadedoperator=staticintgetCAmount();//ReturntheamountofthecharactersstaticvoidsetCAmount(constintAMOUNT);//Storetheamountoft

7、hecharacters3实习报告――赫夫曼编码问题};3.赫夫曼编码中二叉树的数据类型定义:classCodeList{private:TNode*List;voidCreateCodeTree();public:CodeList();~CodeList();SeqListLoadFromFile(constchar*FileName);charSaveToFile(constchar*FileName,constchar*Text);};三、调试分析程序分为文档输入及显示和字符编码解

8、码及存储载入文档两部分,包括主程序和一个动态链接库。主程序主要用于处理文字输入及显示,而动态链接库主要用于字符编码解码及存储载入文档,所以程序的调试也分为两部分。主程序就是一个普通的文本编辑器,基本没有任何调试困难,最主要的还是编码解码的调试工作。在调试过程中利用文件生成编码表,然后通过与手工计算所得结果比较检查编码是否正确,由于编码解码部分使用的是线性表的形式来建立二叉树,所以调试中也没遇到较大的麻烦。而在文档的存储与载入的调试过程中遇到一点问题,主要是文件的存储问

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

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

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