文件名称:200611373551757_600it
- 所属分类:
- Windows编程
- 资源属性:
- [Windows] [Visual.Net] [源码]
- 上传时间:
- 2008-10-13
- 文件大小:
- 37.7kb
- 下载次数:
- 0次
- 提 供 者:
- e***
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
哈夫曼编码原程序
* huffman_e 在huffman_d的基础上,将索引数组放在tree的内部。为编码方便,将元素权值放在tree[num..2*num-1]处。将tree[0..num-1]作为索引数组。排序改为从大到小。对索引数组排序后,每次从最后选出2个最小值,相加后的结点权值放在索引数组最后,结点索引放在索引数组中倒数第2个位置,然后索引数组大小减1,并将最后一个索引值插入到前面的有序表中,保证索引数组仍然有序。
* huffman_f 在huffman_e的基础上,将排序改为利用堆排序原理选择最小的两个权值。也即,将所有元素的权值组织成堆后,每次堆内的根结点就是最小值了。每取出一个根结点后,就把堆尾元素调到根结点重建堆。取出两个最小值合并成一个子树后,再把子树作为叶子结点放到堆中,并让其上升到合适的位置,保持堆性质不变。因为每次不必完成整个排序过程,而只是组织成堆,因此,这种方法要比使用快速排序更快
* huffman_e 在huffman_d的基础上,将索引数组放在tree的内部。为编码方便,将元素权值放在tree[num..2*num-1]处。将tree[0..num-1]作为索引数组。排序改为从大到小。对索引数组排序后,每次从最后选出2个最小值,相加后的结点权值放在索引数组最后,结点索引放在索引数组中倒数第2个位置,然后索引数组大小减1,并将最后一个索引值插入到前面的有序表中,保证索引数组仍然有序。
* huffman_f 在huffman_e的基础上,将排序改为利用堆排序原理选择最小的两个权值。也即,将所有元素的权值组织成堆后,每次堆内的根结点就是最小值了。每取出一个根结点后,就把堆尾元素调到根结点重建堆。取出两个最小值合并成一个子树后,再把子树作为叶子结点放到堆中,并让其上升到合适的位置,保持堆性质不变。因为每次不必完成整个排序过程,而只是组织成堆,因此,这种方法要比使用快速排序更快
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 103244837200611373551757_600it.rar 列表 200611373551757_600it\哈夫曼编码\Huffman.ncb 200611373551757_600it\哈夫曼编码\Huffman.sln 200611373551757_600it\哈夫曼编码\Huffman.suo 200611373551757_600it\哈夫曼编码\huffman.vcproj 200611373551757_600it\哈夫曼编码\huffman_a.cpp 200611373551757_600it\哈夫曼编码\huffman_a.h 200611373551757_600it\哈夫曼编码\huffman_b.cpp 200611373551757_600it\哈夫曼编码\huffman_b.h 200611373551757_600it\哈夫曼编码\huffman_base.cpp 200611373551757_600it\哈夫曼编码\huffman_base.h 200611373551757_600it\哈夫曼编码\huffman_c.cpp 200611373551757_600it\哈夫曼编码\huffman_c.h 200611373551757_600it\哈夫曼编码\huffman_d.cpp 200611373551757_600it\哈夫曼编码\huffman_d.h 200611373551757_600it\哈夫曼编码\huffman_e.cpp 200611373551757_600it\哈夫曼编码\huffman_e.h 200611373551757_600it\哈夫曼编码\huffman_f.cpp 200611373551757_600it\哈夫曼编码\huffman_f.h 200611373551757_600it\哈夫曼编码\huffman_g.cpp 200611373551757_600it\哈夫曼编码\huffman_g.h 200611373551757_600it\哈夫曼编码\huffman_h.cpp 200611373551757_600it\哈夫曼编码\huffman_h.h 200611373551757_600it\哈夫曼编码\main.cpp 200611373551757_600it\哈夫曼编码\Makefile 200611373551757_600it\哈夫曼编码\README.TXT 200611373551757_600it\哈夫曼编码 200611373551757_600it bak\600it.com说明文档.txt bak\源软中国.htm