0
我试图解决一个霍夫曼编码问题,但我不完全确定我完全理解这个话题。我试图找出如果下面是是一个有效的霍夫曼代码:有效的霍夫曼编码?
A: 0
B: 01
C: 11
D: 110
E: 111
我在想什么的是,它是无效的,因为A,或1,会侵害到B,或01我虽然不是积极的。有人能为此启发我吗?
编辑:对不起,我想键入A作为0而不是1
我试图解决一个霍夫曼编码问题,但我不完全确定我完全理解这个话题。我试图找出如果下面是是一个有效的霍夫曼代码:有效的霍夫曼编码?
A: 0
B: 01
C: 11
D: 110
E: 111
我在想什么的是,它是无效的,因为A,或1,会侵害到B,或01我虽然不是积极的。有人能为此启发我吗?
编辑:对不起,我想键入A作为0而不是1
号的霍夫曼码是一个前缀码,这意味着没有代码可以是任何其它码的前缀。在你的榜样,A是B的前缀,C是既d和E的前缀
有效的前缀码是:
A: 0
B: 10
C: 11
那至于你可以用代码去长度为1,2和2.任何其他代码都是这些代码的前缀。这是不可能具有与长度1,2,2,3的前缀码,和3
这是为五个符号的有效前缀码:
A: 0
B: 10
C: 110
D: 1110
E: 1111
为是这样的:
A: 00
B: 01
C: 10
D: 110
E: 111
非常无效。 A是C和D和E的前缀,C是D和E的前缀.A和B虽然很好。 – harold
对不起,我犯了一个错字。 A实际上是0,而不是1.感谢您的快速回答!答:0仍然成立? –
仍然无效,您无法判断“00111”是“AAE”还是“ABC”,“110”是否可以是“D”或“CA”等。 –