使用python编写的一套代码,可以实现随机文本生成,字符串字符统计还有哈夫曼编码。可以转换哈夫曼编码到010101,然后解码生成字符串
2019-12-21 19:46:56 5KB 哈夫曼编码
1
文本: a b c a c a d b a c d a b a a c b a b a 传统表示方法:a: 00, b: 01, c: 10, d: 11 传统表示未压缩时: 0001100010001101001011001000001001001000 统计次数:a:9, b:5, c:4, d:2 前缀码表示:a: 0, b: 10, c:110, d:111 压缩后: 0101100110011110011011101000110100100
2019-12-21 19:44:29 2KB 哈夫曼编码压缩文本 C
1
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。该代码设计一个哈夫曼编译码系统: (1)初始化(Initialzation)。从数据文件DataFile.data中读入字符及每个字符的权值,建立哈夫曼树HuffTree; (2)编码(EnCoding)。用已建好的哈夫曼树,对文件ToBeTran.data中的文本进行编码形成报文,将报文写在文件Code.txt中; (3)译码(Decoding)。利用已建好的哈夫曼树,对文件CodeFile.data中的代码进行解码形成原文,结果存入文件Textfile.txt中; (4)输出(Output)。输出DataFile.data中出现的字符以及各字符出现的频度(或概率);输出ToBeTran.data及其报文Code.txt;输出CodeFile.data及其原文Textfile.txt;
2019-12-21 19:44:21 16KB 哈夫曼编码
1
文本处理是现代化计算机应用的重要领域。文本由字符组成,字符以某种编码形式存储在计算机中。每个字符的编码可以是相等长度的,也可以是不等长度的。我们熟知的ASCII编码是等长编码。为了提高存储和处理文本的效率,在一些计算机应用场合,如数据通信,常采用不等长的编码,对常用的字符用较少的码位编码,不常出现的字符用较多的码位编码,从而减少文本的存储长度。哈夫曼编码就是用于此目的的不等长编码方法。当然,编码的对面就有译码。本课题中,首先是构造哈夫曼树。给定一组权值,以此作为叶结点的权值,可以构造多棵扩充二叉树,它们通常具有不同的加权路径长度。其中具有最小加权路径长度的扩充二叉树,用于构造高效的不等长编码。哈夫曼给出了构造具有最小加权路径长度的扩充二叉树的算法,称位哈夫曼算法。用哈夫曼算法构造的扩充二叉树称为哈夫曼编码树或哈夫曼树。当然,还有编码和译码部分。本系统的前端开发工具是Visual C++6.0。具有输入字符集大小及权值大小,构造哈夫曼树,并对用户输入的字符串进行编码以及译码还有退出四种功能。本程序经过测试后,功能均能实现,运行稳定。
2019-12-21 19:43:40 2.52MB 哈夫曼树,编码,译码,权值
1
华东交通大学C++课设第8题 数据结构课设,哈夫曼树,哈夫曼编码
1
对26个英文字母(已知它们的概率分布)进行了哈夫曼编码,并计算了编码效率。有助于大家理解哈夫曼编码以及信息论的相关知识哦。
2019-12-21 19:36:24 3KB 哈夫曼编码
1
本程序是在三种编码的过程中提取相应的参数,输出显示,比较三种编码。使用文件操作
2019-12-21 19:33:28 2KB 香农 费诺 哈夫曼 编码
1
哈工程本科算法实验哈夫曼编码【数据+代码+说明+流程图+测试用例】
2019-12-21 19:31:43 86KB CPP
1
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理“要求”中项目,直到选择退出为止。 要求: (1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) (2)分别采用动态和静态存储结构 (3)从键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树; (4)利用建好的哈夫曼树生成哈夫曼编码; (5)输出编码; 用户可以执行的的功能有: (1)---选择读取某个源文件由系统解析建立哈夫曼树 (2)---手动输入字符集及其权值信息建立哈夫曼树 (3)---打印字符集的哈夫曼编码到屏幕 (4)---选择某个文本文件进行编码 (5)---选择某个代码文件进行译码
2019-12-21 19:31:25 11KB 数据结构 哈夫曼 编码 译码
1