自适应霍夫曼编码(C++)

时间:2012-06-11 10:59:01
【文件属性】:

文件名称:自适应霍夫曼编码(C++)

文件大小:3KB

文件格式:RAR

更新时间:2012-06-11 10:59:01

adaptive Huffman Coding 自适应

自适应霍夫曼编码的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 };


【文件预览】:
adaptiveHuffmanCoding.cpp

网友评论

  • 可以的,没有问题,代码运行正常
  • 感谢楼主分享
  • 很好的资源 很有参考价值
  • 开始自己编写难度很大,有了这程序难度大大的降低了
  • huffman自适应编码,看不懂代码啊
  • 可以运行的
  • 这个不错,代码可以使用
  • 跟YouTube视频教程的算法很相似 终于找到答案了
  • 代码还可以,不过要自己调试才可以用。
  • 代码写的还可以~
  • 程序为自适应霍夫曼编码程序,代码没有问题。
  • 完全是c++实现,iostream以及string类的使用特别好
  • 是可以调试通的,自己改一下。挺适合初学的人
  • 代码可以调试运行,要得到想要的结果要稍微的修改一下就ok,不过不是很难!总体说还不错
  • 代码基本没什么大的错误,稍微改一下就可以运行,而且代码的思路非常清晰,容易理解,对于初学动态哈弗曼编码的朋友来说是一个很值得推荐的代码。
  • 基本没什么问题,可以运行
  • 这个代码运行时出错了。。。那个解压函数有问题。
  • 代码看下来蛮好,可是运行会出错。应该是我的问题,再仔细看看先。
  • 代码写的很好,很详细和全面