构造哈夫曼编码的方案c语言,huffman 哈夫曼编码的实现及应用.doc

huffman 哈夫曼编码的实现及应用

毕 业 设 计(论文)

题目 哈夫曼编码的实现

及应用

二级学院 数学与统计学院

专 业 信息与计算科学

班 级

学生姓名 学号

指导教师 职称

时 间

目录

摘要I

AbstractII

第一章 绪论1

1.1 研究目的及意义1

1.2 图像压缩编码技术概述2

1.2.1 图像压缩编码技术分类2

1.2.2 图像压缩编码评价2

1.3 哈夫曼编码简介3

1.4 本设计所做的主要工作4

第二章 利用静态哈夫曼编码实现图像压缩5

2.1 静态哈夫曼编码介绍5

2.2 静态哈夫曼编码树的构造6

2.3 静态哈夫曼编码的具体编码过程6

2.4 静态哈夫曼编码的算法实例7

2.3 利用静态哈夫曼编码压缩与还原图像的C语言实现9

2.3.1 压缩的实现9

2.3.2 解压缩的实现11

2.4 图象压缩实例12

第三章 利用动态哈夫曼编码实现图像压缩15

3.1 动态哈夫曼编码的提出15

3.2 动态哈夫曼编码的原理15

3.3 动态哈夫曼编码的算法思想16

3.4 动态哈夫曼编码的编码实例18

3.5 利用动态哈夫曼编码压缩与还原图像的C语言实现25

3.5.1 数据结构25

3.5.2 压缩的实现26

3.5.3 解压缩的实现27

3.6 图像压缩实例28

3.7 静态哈夫曼编码与动态哈夫曼编码的比较29

第四章 对哈夫曼编码的改进31

4.1 在哈夫曼编码中引入堆排序31

4.2 模拟哈夫曼树的创建32

第五章 总结34

5.1 总结34

参考文献35

附录36

摘要

哈夫曼编码是一种以哈夫曼树—即最优二叉树为核心的编码方式,经常应用于数据压缩。在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称"熵编码法"),用于数据的无损压缩。"熵编码法"是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是通过统计每一个源字符出现的概率建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这使得编码之后的字符串的平均长度是最短的,从而达到无损压缩数据的目的)。论文全面分析了静态哈夫曼编码和动态哈夫曼编码算法算法,详细介绍了静态哈夫曼编码树和和动态哈夫曼编码树的构造方案,并针对这两种算法,给出了对应的C 语言代码。经运行分析发现,由于在构造静态哈夫曼树时,大量的时间消耗在从元素集合中选取两个最小的元素上。而动态哈夫曼编码算法,虽然克服了前者的缺点,但是算法复杂,而且解压缩时间长。因此,根据字符编码的单值性,对哈夫曼编码做了第二个改进,即不构造哈夫曼树,而是用一个二维数组模拟哈夫曼树的创建过程并得到各字符的编码,这一改进有效地提高了压缩比。

关键词:静态哈夫曼编码,压缩,节点,哈夫曼树

Abstract

Huffman encoding is a huffman tree that is optimal binary tree as the core, often used in data compression. In the computer information processing, "Huffman coding" is a consistent coding method (also known as entropy coding method ") for lossless compression of data. Entropy coding method "refers to the source character (for example, a file of a symbol) is encoded using a special encoding table. This coding table is special because it is the statistical probability of occurrence of each source character set (high probability of occurrence of the character using a shorter encod

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值