Hej, mam do napisania mini projekt m.in. wyświetlający kod Huffmana dla dowolnego ciągu znaków. Znalazłem kilka rozwiązań i coś mi nie pasuje. Mianowicie dla ciągu "ala ma kota" mamy do zakodowania (wraz ze spacją) 7 znaków. Spokojnie zmieścimy się na 3 bitach 2^3 = 8. Nie wiem czemu wszystkie algorytmy kodują znak na czterech:
a:0
t:100
m:1010
o:1011
:110
k:1110
l:1111
Ja rozpisując na papierze otrzymuję:
k: 000
l: 001
m: 010
o: 011
t: 100
: 101
a:11
Mamy zysk 4 bitów (zamiast 33, wykorzystujemy 29).
Jest ktoś w stanie mi wytłumaczyć w czym tkwi problem?