霍夫曼编码的平均码长怎么求比如说我知道了6个编码 分别是01 10 11 000 0010 0011平均码长是不是等于 我6个编码的位数加起来然后除以6 ,就是17/6=2.83,是不是这样算的,希望知道的朋友说一下,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 08:29:25
霍夫曼编码的平均码长怎么求比如说我知道了6个编码 分别是01 10 11 000 0010 0011平均码长是不是等于 我6个编码的位数加起来然后除以6 ,就是17/6=2.83,是不是这样算的,希望知道的朋友说一下,
霍夫曼编码的平均码长怎么求
比如说我知道了6个编码 分别是01 10 11 000 0010 0011
平均码长是不是等于 我6个编码的位数加起来然后除以6 ,就是17/6=2.83,是不是这样算的,希望知道的朋友说一下,
霍夫曼编码的平均码长怎么求比如说我知道了6个编码 分别是01 10 11 000 0010 0011平均码长是不是等于 我6个编码的位数加起来然后除以6 ,就是17/6=2.83,是不是这样算的,希望知道的朋友说一下,
霍夫曼编码是变长编码,思路:对概率大的编的码字短,概率小的编的码字长,这样一来所编的总码长就小,这样编码效率就高.你上面那样求是不对的,除非你这6个码字是等概率的,各占1/6.应该用对应的概率*其对应得码长,再求和.
显然不是这么除
你写出哈夫曼树是要依据码出现的概率
然后给各种码对应上这种编码
平均码长就是该码出现的概率乘以现在的码长的和
就拿你这个举例
01 10 11 000 0010 0011
设概率分别为
0.2 0.2 0.2 0.16 0.12 0.12
那么平均码长
0.2×2+0.2×2+0.2×2+0....
全部展开
显然不是这么除
你写出哈夫曼树是要依据码出现的概率
然后给各种码对应上这种编码
平均码长就是该码出现的概率乘以现在的码长的和
就拿你这个举例
01 10 11 000 0010 0011
设概率分别为
0.2 0.2 0.2 0.16 0.12 0.12
那么平均码长
0.2×2+0.2×2+0.2×2+0.16×3+0.12×4+0.12×4
收起
仔细查了一下书,平均码长=码长×码字出现的概率。
见《信息论与编码理论》(高教王育民版)