二叉树-浙江工商大学.PPTVIP

  • 11
  • 0
  • 约2.47万字
  • 约 181页
  • 2018-11-23 发布于天津
  • 举报
二叉树-浙江工商大学

17. 哈夫曼编码 6.17 哈夫曼编码 6.17.1 背景 若一段程序有1000条指令,其中I1大约有400条,I2大约有300条,I3大约有150条,I4大约有50条,I5大约有40条,I6大约有30条,I7大约有30条。那么是否有一种编码方式能够实现程序长度最短? 哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。该技术一般可将数据压缩掉20%至90%,其压缩效率取决于被压缩文件的特征。 6.17 哈夫曼编码 6.17.2 定长编码 如果采用定长编码,需要的编码长度是?log27?=3。 该段程序的总位数大约为3×1000=3000。 指令 I1 I2 I3 I4 I5 I6 I7 编码 000 001 010 011 100 101 110 6.17 哈夫曼编码 6.17.3 变长编码 我们的思路是使用频率高的指令采用短的编码,这样才能缩短程序长度。比如: 但是事情没有这样简单。比如,00解释成两个I1,还是一个I3。因此,上述编码不能用。 指令 I1 I2 I3 I4 I5 I6 I7 编码 0 1 00 01 000 001 010 6.17 哈夫曼编码 6.17.4 前缀码 如果在一个编码系统中,任一个编码都不是其他任何编码的前缀(最左子串),则称该编码系统中的编码是前缀码。 例如,一组编码01,001,010,100,110就不是

文档评论(0)

1亿VIP精品文档

相关文档