主要介绍了C++数据结构之文件压缩(哈夫曼树)实例详解的相关资料,利用哈夫曼编码的方式对文件进行压缩,并且对压缩文件可以解压,需要的朋友可以参考下
1
高手所写,绝对给力。 利用哈夫曼树的原理,解压与压缩所有文件。文件利用正规的c语言代码编写方式,能够适应众多的编译环境。
2020-01-04 03:15:28 7KB hashman
1
摘 要 II Abstract III 第一章 设计概述 1 1.1 实验背景 1 1.2 设计目的 1 第二章 设计简介及设计方案论述 3 2.1 方案论述 3 第三章 详细设计 4 3.1 结构体的定义 4 3.2 主函数定义 4 3.2 副函数定义 5 第四章 设计结果及分析 11 4.1 设计结果显示 11 4.2 设计结果分析 12 总 结 13 致 谢
2020-01-04 03:15:15 348KB 哈夫曼树
1
根据给定字符的使用频率,为其设计哈夫曼编码。 功能:求出n个字符的哈夫曼编码。输入:输入n个字符和字符在电文中的使用频率。输出:n个字符的哈夫曼编码。
2020-01-04 03:15:02 39KB 哈夫曼树 编码
1
这是大二时的数据结构的课设,今天与大家分享。可以读写文件,编码译码,以及对输入的异常处理。
2020-01-03 11:42:08 715KB 数据结构课设 哈夫曼树
1
数据结构的哈夫曼树,能输入任意字符串,并计算出现频率,同时统计编码长度,可编码,可解码,能计算压缩比,可执行程序包括实验报告
2020-01-03 11:41:31 342KB 哈夫曼 数据结构 c++
1
我们期末的课设报告,其中有两个,哈夫曼树的编码和译码,和迷宫,绝对可以用,希望能帮助大家
1
该文件是关于用C语言构建哈夫曼树的代码,其中包括对字符的统计、对文档读取然后包括建树的过程,和对哈夫曼树解码的过程。
2019-12-26 03:22:23 16KB 哈夫曼树
1
一、课程设计题目:哈夫曼树应用 二、课程设计要求: 1) 从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树并将它存于文件hfmTree中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上; 2) 利用已经建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件Text.txt中的正文进行编码,然后将结果存入文件Code.txt中。 3) 利用已建好的哈夫曼树将文件Code.txt中的代码进行译码,结果存入文件Text.txt中,并输出结果。 三、进度安排 1.分析问题,给出数学模型,选择数据结构。 2.设计算法,给出算法描述,给出源程序清单。 3.编辑、编译、调试源程序,撰写课程设计报告。 四、基本要求 1.界面友好,函数功能要划分好 2.总体设计应画一流程图 3.程序要加必要的注释 4.要提供程序测试方案 5.程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。 目 录 1•设计目的 3 2.需求分析 4 2.1哈夫曼编码/译码器简介 4 2.2. 问题描述 4 2.3需求分析 4 3.概要设计 5 3.1问题分析哈夫曼树的定义 5 4.详细设计 6 4.1 系统框架图 6 4.2 总体流程图 7 4.3编码函数 8 4.4译码函数 10 4.5运行结果 11 5.调试分析 13 6.小结 14 参考文献 15 附录:源程序代码 16
1
(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 (2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件htmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 (3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 (4)P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码写入文件CodePrint中。 (5)T:印哈夫曼树(Tree Printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中。 [测试数据]   (1)数据一:已知某系统在通信联络中只可能出现8种字符,其概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11,以此设计哈夫曼编码。利用此数据对程序进行调试。 (2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。 字符 A B C D E F G H I J K L M 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1
1