Encoding 同概率哈夫曼编码符号
我正在为一门关于信息传递的课程做练习。我们需要把哈夫曼编码成二进制代码字母表 源字母表有四个概率符号:Encoding 同概率哈夫曼编码符号,encoding,huffman-code,Encoding,Huffman Code,我正在为一门关于信息传递的课程做练习。我们需要把哈夫曼编码成二进制代码字母表 源字母表有四个概率符号: P(A)=0.4 P(B)=0.3 P(C)=0.2 P(D)=0.1 对于哈夫曼,我取概率最低的两个符号,在这个例子中是C和D。我构造了一个有两片叶子的子树(C&D)。 列表中的下一个符号B的概率为0.3 我现在可以做两件事。或者用a&B构造第二个子树,因为B的概率与子树CD的值相同。第二个选项是将B与子树CD放在一起,并创建一个值为0.6的更大的树 在下图中,您可以看到我得到的两个选项
- P(A)=0.4
- P(B)=0.3
- P(C)=0.2
- P(D)=0.1
我现在的问题是我应该选择什么方法?为等概率生成一个新子树?或者将相等的概率放入树中?在这种情况下,应用程序哈夫曼算法中只有一个选择。在每个步骤中,您必须选择两个最低概率。第二步是0.3(B)和0.3(C&D)。您不能在该步骤中使用,因为它的概率更高,为0.4。所以你画的第一棵树是不正确的,因为它不是应用哈夫曼算法的结果
你画的第二棵树也不正确。或者至少画得不对。二叉树在任何节点上只能有两个分支。它不能有三个。正确的树是A&(B&(C&D))。谢谢!正是我需要的。是的,我还以为我的第二棵树有什么东西在扭动呢!谢谢你指出它是什么!