电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024年哈夫曼编码实验报告VIP免费

2024年哈夫曼编码实验报告_第1页
1/5
2024年哈夫曼编码实验报告_第2页
2/5
2024年哈夫曼编码实验报告_第3页
3/5
数据构造试验汇报1.试验规定运用二叉树构造实现哈夫曼编/解码器。基本规定:1、初始化(Init):可以对输入的任意长度的字符串s进行记录,记录每个字符的频度,并建立哈夫曼树2、建立编码表(CreateTable):运用已经建好的哈夫曼树进行编码,并将每个字符的编码输出。3、编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。4、译码(Decoding):运用已经建好的哈夫曼树对编码后的字符串进行译码,并输出译码成果。5、打印(Print):以直观的方式打印哈夫曼树(选作)计算输入的字符串编码前和编码后的长度,并进行分析,讨论哈夫曼编码的压缩效果。并用IlovedataStructure,IloveComputer。IwilltrymybesttostudydataStructure.进行测试。2.程序分析哈夫曼树结点的存储构造包括双亲域parent,左子树lchild,右子树rchild,尚有字符word,权重weight,编码code对顾客输入的信息进行记录,将每个字符作为哈夫曼树的叶子结点。记录每个字符出现的次数作为叶子的权重,记录次数可以根据每个字符不一样的ASCII码,根据叶子结点的权重建立一种哈夫曼树。建立每个叶子的编码从根结点开始,规定通往左子树途径记为0,通往右子树途径记为1。由于编码规定从根结点开始,因此需要前序遍历哈夫曼树,故编码过程是此前序遍历二叉树为基础的。同步注意递归函数中能否直接对结点的编码域进行操作。编码信息只要遍历字符串中每个字符,从哈夫曼树中找到对应的叶子结点,获得对应的编码。最终再将所有找到的编码连接起来即可。译码则是将编码串从左到右逐位鉴别,直到确定一种字符。这就是哈夫曼树的逆过程。遍历编码串,从哈夫曼树中找到对应的叶子结点,获得对应的字符再将找到的字符连接起来即可。2.1存储构造哈夫曼树结点存储构造2.2关键算法分析1.记录字符频度自然语言描述:parentlchildrchildwordweightcode(1)取出字符串中的一种字符(2)遍历所有初始化的哈夫曼树结点(3)假如结点中有记录代表的字符且字符等于取出的字符,阐明该字符的叶子存在,则将该结点的权值加1(4)假如所有结点记录的字符均没有与取出的字符一致,阐明该字符的叶子不存在,则将结点的字符记为取出字符,并将权重设为1(5)反复以上环节,直至字符串中所有字符所有遍历伪代码描述:1.for(inti=0;i

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2024年哈夫曼编码实验报告

您可能关注的文档

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群