02 2011 档案
摘要:工程源代码下载(VS2008)先上图 把要压缩或要解压的文件拖拽到窗口中即可。另存为编辑框是压缩或解压的输出路径。对于压缩来说,另存为路径是目标文件的路径加上一个.shc扩展名。对于解压来说,会去掉最后一个扩展名。 压缩的核心其实就是用了哈夫曼编码原理。我封装了一个哈夫曼编码类,内部使用了一个哈夫曼树类。(关于哈夫曼树类,在我这篇文章有说:http://www.cnblogs.com/StevenKyleLee/archive/2011/02/19/1958278.html) 要对一个文件进行压缩,执行如下步骤: 1.建立编码方案。第一遍扫描文件,统计这个文件中各种不同的字节出现的次数(256
阅读全文
摘要:最近写了一个哈夫曼编码小程序。对于数据结构书上介绍的算法硬是没看懂,而只是看懂了图示,所以就用了自己的方式来做。 程序运行如下图: 写了一个哈夫曼树类。可以对任何数据进行编码。测试的话,只需要输入要进行编码的字符串就行了,会输出编码方案(就是编码后对应的01序列),对应的哈夫曼树形态,和编码结果。 我的哈夫曼树类,在内部维护了一个链式二叉树。当输入一个字符串作为要编码的对象时,做如下几步: 1.先统计各个字符出现的次数。比如:“Steven Kyle Lee”中的e出现了5次。 2.用字符和它的出现次数(作为权值),new出对应的树节点。这些节点纳入一个线性表
阅读全文

浙公网安备 33010602011771号