文件名称:Huffman 算法的不同实现
- 所属分类:
- 密码/编码算法
- 资源属性:
- [Windows] [Visual.Net] [源码]
- 上传时间:
- 2008-10-13
- 文件大小:
- 31.94kb
- 下载次数:
- 0次
- 提 供 者:
- r**
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
----
Huffman 算法的不同实现
本目录下的程序用8种不同的方式实现了Huffman编码算法,这8种方式分别是
* huffman_a 使用链表结构生成Huffman树的算法,这是最基本的实现方法,效率最低。
* huffman_b 使用《数据结构》(严蔚敏,吴伟民,1997,C语言版)中给出的算法,将二叉树存放在连续空间里(静态链表),空间的每个结点内仍有左子树、右子树、双亲等指针。
* huffman_c 使用Canonical Huffman编码,同时对huffman_b的存储结构进行改造,将二叉树存放在连续空间tree里,空间的每个结点类型都和结点权值的数据类型相同,空间大小为2*num,tree[0]未用,tree[1..num]是每个元素的权值,生成Huffman后,tree[1..2*num-1]中是双亲结点索引。
* huffman_d 在huffman_c的基础上,增加预先排序的功能先用QuickSort算法对所有元素的权值从小到大排序,这样,排序后最前面的两个元素就是最小的一对元素了。我们可以直接将它们挑出来,组合成一个子树。然后再子树的权值用折半插入法插到已排序的元素表中, 保证所有结点有序。为了保证初始元素的顺序不变,我们另外使用了一个索引数组,所有排序中的交换操作都是在索引数组中进行的----- Huffman algorithm to achieve Catalog under different procedures used eight different ways to achieve a Huffman coding algorithm, eight models were used huffman_a * Chain Structure Generation Huffman tree algorithm, This is the most basic method, the minimum efficiency. * Huffman_b use of "data structure" (Yan Wei Min, Xiulan WU Weimin, 1997, C language version) is the algorithm stored in a binary tree will be continuous space (static List), the space within each node still left subtree, right subtrees, parents and other indicators. * Canonical huffman_c use Huffman coding, while huffman_b storage structure transformation, will be stored in a binary tree continuous space tree, space each node type and the right node value of the same data type, size space for two * num, tree
Huffman 算法的不同实现
本目录下的程序用8种不同的方式实现了Huffman编码算法,这8种方式分别是
* huffman_a 使用链表结构生成Huffman树的算法,这是最基本的实现方法,效率最低。
* huffman_b 使用《数据结构》(严蔚敏,吴伟民,1997,C语言版)中给出的算法,将二叉树存放在连续空间里(静态链表),空间的每个结点内仍有左子树、右子树、双亲等指针。
* huffman_c 使用Canonical Huffman编码,同时对huffman_b的存储结构进行改造,将二叉树存放在连续空间tree里,空间的每个结点类型都和结点权值的数据类型相同,空间大小为2*num,tree[0]未用,tree[1..num]是每个元素的权值,生成Huffman后,tree[1..2*num-1]中是双亲结点索引。
* huffman_d 在huffman_c的基础上,增加预先排序的功能先用QuickSort算法对所有元素的权值从小到大排序,这样,排序后最前面的两个元素就是最小的一对元素了。我们可以直接将它们挑出来,组合成一个子树。然后再子树的权值用折半插入法插到已排序的元素表中, 保证所有结点有序。为了保证初始元素的顺序不变,我们另外使用了一个索引数组,所有排序中的交换操作都是在索引数组中进行的----- Huffman algorithm to achieve Catalog under different procedures used eight different ways to achieve a Huffman coding algorithm, eight models were used huffman_a * Chain Structure Generation Huffman tree algorithm, This is the most basic method, the minimum efficiency. * Huffman_b use of "data structure" (Yan Wei Min, Xiulan WU Weimin, 1997, C language version) is the algorithm stored in a binary tree will be continuous space (static List), the space within each node still left subtree, right subtrees, parents and other indicators. * Canonical huffman_c use Huffman coding, while huffman_b storage structure transformation, will be stored in a binary tree continuous space tree, space each node type and the right node value of the same data type, size space for two * num, tree
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 3971006haffmancode(vc).rar 列表 3457435354\Huffman.ncb 3457435354\Huffman.sln 3457435354\Huffman.suo 3457435354\huffman.vcproj 3457435354\huffman_a.cpp 3457435354\huffman_a.h 3457435354\huffman_b.cpp 3457435354\huffman_b.h 3457435354\huffman_base.cpp 3457435354\huffman_base.h 3457435354\huffman_c.cpp 3457435354\huffman_c.h 3457435354\huffman_d.cpp 3457435354\huffman_d.h 3457435354\huffman_e.cpp 3457435354\huffman_e.h 3457435354\huffman_f.cpp 3457435354\huffman_f.h 3457435354\huffman_g.cpp 3457435354\huffman_g.h 3457435354\huffman_h.cpp 3457435354\huffman_h.h 3457435354\main.cpp 3457435354\Makefile 3457435354\README.TXT 3457435354