哈夫曼编码长度问题,证明题

问题描述

哈夫曼编码长度问题,证明题

已知字符串中某一字符出现的频率大于0.4,证明该字符串中存在某一字符的哈夫曼编码长度为1;如果字符串中所有字符出现的频率都小于三分之一,证明字符串中不存在哈夫曼编码长度为1的字符

解决方案

http://www.zybang.com/question/041154e0c4adf3af1f0dfac8629a346f.html

时间: 2024-08-04 07:11:11

哈夫曼编码长度问题,证明题的相关文章

哈夫曼编码问题 语言-求大神更正一下哈夫曼编码,重谢!

问题描述 求大神更正一下哈夫曼编码,重谢! #include #include #include static float weights[]={12.702 ,9.056 ,8.167 ,7.507 ,6.966 ,6.749 ,6.327 , 6.094 ,5.987 ,4.253 ,4.025 ,2.782 ,2.758 ,2.406 , 2.360 ,2.228 ,2.105 ,1.974 ,1.929 ,1.492 ,0.978 , 0.722 ,0.153 ,0.150 ,0.095

哈夫曼(huffman)树和哈夫曼编码

哈夫曼树 哈夫曼树也叫最优二叉树(哈夫曼树)    问题:什么是哈夫曼树? 例:将学生的百分制成绩转换为五分制成绩:≥90 分: A,80-89分: B,70-79分: C,60-69分: D,<60分: E. if (a < 60){ b = 'E'; } else if (a < 70) { b = 'D'; } else if (a<80) { b = 'C'; } else if (a<90){ b = 'B'; } else { b = 'A'; } 判别树:用于描

简单快速的哈夫曼编码

介绍 本文描述在网上能够找到的最简单,最快速的哈夫曼编码.本方 法不使用任何扩展动态库,比如STL或者组件.只使用简单的C函数,比如: memset,memmove,qsort,malloc,realloc和memcpy. 因此,大家都会发现 ,理解甚至修改这个编码都是很容易的. 背景 哈夫曼压缩是个无损的压缩算法,一般用来压缩文本和程序文件.哈夫 曼压缩属于可变代码长度算法一族.意思是个体符号(例如,文本文件中的字符 )用一个特定长度的位序列替代.因此,在文件中出现频率高的符号,使用短的 位序

c-跪求大神 帮忙,这段关于哈夫曼编码 的程序着实看不懂啊。。。。。。。

问题描述 跪求大神 帮忙,这段关于哈夫曼编码 的程序着实看不懂啊....... struct Codetype{//哈弗曼编码数据类型 char bits;//编码流-数组,n为为哈夫曼树中叶子结点的数目,编码的长度不可能超过n int start;//编码实际在编码流数组里的开始位置 }; Codetype *HuffmanCode(hufmtree *tree){//哈弗曼编码的生成 int i,j,p,k; Codetype *code; if(tree==NULL) return NUL

【哈夫曼编码】HDU1053-Entropy

Entropy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4178    Accepted Submission(s): 1707 Problem Description An entropy encoder is a data encoding method that achieves lossless data compres

【Matlab编程】哈夫曼编码的Matlab实现

       在前年暑假的时候,用C实现了哈夫曼编译码的功能,见文章<哈夫曼树及编译码>.不过在通信仿真中,经常要使用到Matlab编程,所以为了方便起见,这里用Matlab实现的哈夫曼编码的功能.至于哈夫曼编译码的基本原理,我们可以参考之前的文章<哈夫曼树及编译码>,里面有详细的说明及图解过程.下面直接给出具体的Matlab实现的哈夫曼编码函数,由于程序中注释还算比较详细,在此就不予与说明: function [ h,e ] = Huffman_code( p ) %p为概率分布

范式霍夫曼编码 码长不连续 产生不能识别部分编码

问题描述 范式霍夫曼编码 码长不连续 产生不能识别部分编码 如图 范式霍夫曼编码 遇到这种 编码长度不连续的情况 网上说 extern KBitInputStream bs; int len = 1; int code = bs.ReadBit(); while(code >= first[len]) { code <<= 1; code |= (bs.ReadBit()); // append next input bit to code len++; } len--; // 至此,识

哈夫曼树及哈夫曼编码

         一,引言          如上图,是一个判断体重在什么范围内的判定树,例如,学校体检的时候,我们反复用这个算法,当你输入一个体重:200斤,然后程序就开始反复判断了,经过三次判断,它发现你过重,然后重启系统了,又来一个人,还是200斤,三次判断之后,又系统重启了-后面的200多个200多斤的盘子判断完了之后,来了个120的,终于是个比较正常的体重了,但是系统一判断完,系统还是重启,反复检查之后,发现你那台8086时代的电脑终于撑不住了~      于是你改了下算法,换了一棵判

如何使用foxpro实现哈夫曼编码 如何使用foxpro实现哈夫曼编码

问题描述 如何使用foxpro实现哈夫曼编码 如何使用foxpro实现哈夫曼编码 如何使用foxpro实现哈夫曼编码 如何使用foxpro实现哈夫曼编码 # 如题__ 解决方案 http://www.cnblogs.com/syblogs/articles/2020145.html C语言的,foxpro自己改写下. 解决方案二: haffman哈夫曼编码的实现哈夫曼编码C++实现哈夫曼编码的实现----------------------