Strona 1 z 1

kod Huffmana

: 7 lis 2009, o 18:28
autor: luke877
Dla alfabetu {a, b, c, d, e} znajdź kod Huffmana przy założeniu następującego rozkładu prawdopodobieostwa występowania poszczególnych liter w kodowanym ciągu: {0.3, 0.25, 0.2, 0.15, 0.1}

kod Huffmana

: 7 lis 2009, o 19:09
autor: xiikzodz
a = 11
b = 10
c = 00
d= 011
e= 010

kod Huffmana

: 7 lis 2009, o 19:37
autor: luke877
Jak to się robi krok po kroku ?

kod Huffmana

: 7 lis 2009, o 19:43
autor: xiikzodz
Buduje się takie drzewo (



następnie koduje się litery i ich kombinacje binarnie patrząc na to drzewo.

kod Huffmana

: 7 lis 2009, o 21:54
autor: luke877
Cos mi tu nei pasuje :/ Nie powinno "a" wyjsc 1-bitowe ?

kod Huffmana

: 7 lis 2009, o 22:27
autor: xiikzodz
Nie, tutaj jednobitowe kodowanie a wymusi przynajmniej 2 dodatkowe bity w kodowaniu pozostałych znaków.

Na przykład gdy zwiększymy częstość a do 0,39, a pozostałe znaki pozostawimy w takich proporcjach, w jakich były, wówczas jednobitowe a zacznie się opłacać:

a = 0

b= 10

c = 110

d = 1111

e = 1110

Jeszcze raz może policzę krok po kroku:

\(\displaystyle{ (e+d)=0,25}\)

\(\displaystyle{ (c+(e+d))=0,45}\)

\(\displaystyle{ (b+a)=0,55}\)

\(\displaystyle{ ((c+(e+d))+(b+a))=1}\).

Można inaczej:

\(\displaystyle{ (e+d)=0,25}\)

\(\displaystyle{ (c+b)=0,45}\)

\(\displaystyle{ (a+(e+d))=0.55}\)

\(\displaystyle{ ((a+(e+d))+(c+b))}\)

czyli np.:

a=00

b=11

c=10

d=011

e=010

kod Huffmana

: 7 lis 2009, o 22:59
autor: luke877
Teraz juz wiem co robilem zle. Zamiast 0,3+0,25 liczylem 0,45+0,25