00,100,101,110,111不是哈夫曼编码的原因

这个为什么不是根据使用频率为5个字符设计的哈夫曼编码?... 这个为什么不是根据使用频率为5个字符设计的哈夫曼编码? 展开
 我来答
百度网友20ebe2b
2018-05-19
知道答主
回答量:1
采纳率:0%
帮助的人:862
展开全部

如图所示,主要是00出现了问题,a节点没有右儿子,可以看出a节点完全是多余的。b节点的编码直接是0就好了。

东门冬莲718
2023-09-07 · TA获得超过150个赞
知道答主
回答量:1593
采纳率:91%
帮助的人:21万
展开全部
00,100,101,110,111不是哈夫曼编码的原因是因为在一组哈夫曼编码中,任一编码不可能是其他编码的前缀。哈夫曼编码是一种无前缀编码,即任何一个字符的编码都不是另一个字符编码的前缀。
以这组编码为例,100和101是110的前缀,这违反了哈夫曼编码的无前缀原则。为了解决这个问题,可以将哈夫曼编码的长度限制在二进制位数以内,这样就可以确保每个编码都不是其他编码的前缀。例如,对于一个二进制字符,它的哈夫曼编码可以为0或1,而对于两个二进制字符,它们的哈夫曼编码可以为00,01,10,11。
以上信息仅供参考,如果还有疑问,建议查阅哈夫曼编码的专业书籍或咨询专业人士。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f9fe670
2015-12-21 · TA获得超过5521个赞
知道小有建树答主
回答量:642
采纳率:100%
帮助的人:225万
展开全部

根据编码大致还原一下哈夫曼树

  1.                    0

  2.                 /     \

  3.               o        o

  4.             /        /      \

  5.           Y        o        o

  6.                   /  \      /  \

  7.                  Y    Y   Y   Y

可以看出第3层做子树只有一个分支,也就是00 编码,没有01编码,说明不是最短的。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式