概述下:
哈夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。 简单的,就是靠权值排序,然后,转码,最优保存。
实现功能:
保存译码:在服务器端保存源字符串,命名为:”Encording.txt”
保存编码:在服务器端保存压缩后压缩码,命名为:”Decording.txt”
保存哈夫曼树:在服务器端保存哈夫曼树数组,命名为:”Huffman.txt”
浏览器本地保存:在本地缓存输入历史。并且实现自行选择本地版本。
开始实现
一、先看整个程序流程图
二、接下来是哈夫曼流程图
三、程序包含文件
前台表单提交页面,后台表单处理页面,以及哈夫曼压缩,解压缩系统。包含两个主文件:huffman.php和index.php(另外还包含style.css控制样式,huffman.js保存缓存和控制交互。)
|--index.php(处理基本表单,数据保存) |--huffman.php(压缩,解压缩) |--style.css(控制样式) |--huffman.js(保存缓存和控制交互)
源码:
huffman.php
下面是js缓存源码
原文:http://my.oschina.net/BearCatYN/blog/350262