2016-11-05 3 views
0

허프만 코딩 문제를 해결하려고 노력하고 있지만 주제를 완전히 이해하고 있는지 잘 모르겠습니다. 나는 다음은 유효한 허프만 코드 있는지 알아 내려고 노력하고 있어요 :유효한 허프만 코드?

A: 0 
B: 01 
C: 11 
D: 110 
E: 111 

내가 생각하고하는 것은 B를 침해하는 것, 유효하지 않은 때문에, 또는 1이다, 또는 01. I 그래도 긍정적이지는 않습니다. 누군가가 이것에 대해 나를 계몽 할 수 있습니까?

편집 : 내가 공 같이 입력을 의미하지 1.

+2

매우 잘못되었습니다. A는 C와 D의 접두사이고 E는 C와 D의 접두사입니다. A와 B는 함께 훌륭합니다. – harold

+0

오타를 만들어서 미안합니다. A는 실제로 0이 아니라 1이 아닙니다. 귀하의 빠른 답변을 주셔서 감사합니다! A : 0이 아직 유지됩니까? –

+1

여전히 유효하지 않은 경우, '00111'이 'AAE'또는 'ABC'이고 '110'이 'D'또는 'CA'등일 수 있음을 알 수 없습니다. –

답변

1

번호 허프만 코드는 어떤 코드가 다른 코드의 접두사가 될 수 없음을 의미하는 접두사 코드입니다 미안 해요. 당신의 예에서, A는 B의 접두사이고, C는

유효한 접두사 코드는 것 모두 D와 E의 접두어 :

A: 0 
B: 10 
C: 11 

당신의 코드로 갈 수까지입니다 길이 1, 2 W 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