用C++实现的Huffman编码 能计算墒,平均码长,
2020-01-03 11:23:52 2KB huffman C++
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中。
2020-01-03 11:23:52 12KB Huffman编/译码器
1
C语言实现的huffman压缩解压缩算法
2020-01-03 11:23:44 4KB huffman 压缩
1
霍夫曼(Huffman)编码算法是满足前缀条件的平均二进制码长最短的编码算法。其编码思想是将较长的编码码字分配给较小概率的信源输出符号,而将较短的编码码字分配给较大概率的信源输出。文章详细描述了Huffman编解码的算法和matlab实现,程序已经过验证,可以直接使用
2019-12-21 22:18:02 13KB Huffman编解码 matlab
1
自适应霍夫曼编码的C++版本简单实现 class AdaptiveTree { public: AdaptiveTree(int rootNum); AdaptiveTree(int rootNum, string str); void swap(int first, int second); // swap two nodes of the tree void initalCode(); // initializing the data string char2code(unsigned char letter); // locate the character in the tree with its corresponding binary string and return the string string char2binary(unsigned char letter); // translating the character to the 8-bit binary string unsigned char binary2char(string bin); // translating the binary string: bin to the corresponding character int spawn(unsigned char letter); // add a new character to the original tree void updateTree(unsigned char newchar); // update the tree int highestInBlock(int count); // return the highest node to be exchanged void setString(string str); // string decodingStr() const; void encoding(); string decoding(); unsigned char code2char(string bincode); static int size(); string binStr() const; // return the binary string of string: tempString private: void run(); int findchar(unsigned char letter ); // locate the letter in the tree string tempString; //temp string to be encoded needed to be stored here string deStr;// used for storing the decoding string string bin; // used for storing the result of encoding process /* Adaptive Tree data members */ HuffmanTree *tree; int root; /* Adaptive Tree constants */ static int ALPH_SIZE; // size of the alphabet static unsigned char none; // not a unsigned character static unsigned char NYT; // Not Yet transmitted code };
2019-12-21 22:14:32 3KB adaptive Huffman Coding 自适应
1
1、对输入的字符串统计出现频率,进行哈夫曼编码。。 2、生成的哈夫曼编码以及哈夫曼树可保存到本地文件。。 3、对接下来输入的01字符串,用先前的哈夫曼编码进行解码。。 4、全过程C语言实现。。
2019-12-21 22:04:11 6KB 哈夫曼树 C语言 编码 解码
1
Huffman 编码 matlab 介绍
2019-12-21 22:00:24 59KB Huffma matlab
1
一个huffman 压缩解压算法源码
2019-12-21 21:58:56 37KB 一个huffman压缩解压算法源码
1
java实现霍夫曼(huffman)树的压缩和解压缩,支持对文档的压缩和解压缩
2019-12-21 21:56:18 19KB java huffman 压缩
1
huffman树,算法分析与设计huffman树,算法分析与设计huffman树,算法分析与设计huffman树,算法分析与设计huffman树,算法分析与设计
2019-12-21 21:53:08 8KB huffman树,算法分析与设计
1