更新时间:2022-09-27 15:18:31
哈夫曼编码取决于哈夫曼树。
将要压缩的字符串,将每个字出现的频率作为依据,构造一颗哈夫曼树,频率越大的字越是靠近树的根结点,因此它的编码也就越短。因此,频率高的字用短码,频率低的字用长码。根据这样的码表可以实现压缩字符串了。
本程序采用C#实现。
基本上是演示了哈夫曼编码压缩的原理。由于是演示代码,因此不必太纠结与效率。本程序效率必定不高。
根据码表组成的二进制码,按照7位一组转成ASCII码(采用的ASCII码为7位,0-127),并且有一个标志头指示是否有多余的尾码。具体看代码实现。
本程序也可以稍加改编,成为字符串加密算法。
效果图如下:
附件:http://down.51cto.com/data/2361724
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/1052372 ,如需转载请自行联系原作者
基于哈夫曼编码的压缩算法的实现
WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)
WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)
详解基于Sbo DI API独立程序系统登录的实现
艾伟_转载:基于.NET平台的Windows编程实战(六)—— 题目管理功能的实现
基于Metronic的Bootstrap开发框架经验总结(12)--页面链接收藏夹功能的实现
我的WCF开发框架简化版及基于NET.TCP传输方式的实现
EF架构~基于EF数据层的实现
Silverlight实用窍门系列:13.基于Popup浮动窗体控件模拟ToolTip的实现【附带实例源码】
让IoC动态解析自定义配置(提供基于Unity的实现)