Utworzyć kod zwarty metodą Huffmana (krok 3/3 - nie czaję

0

Zadanie jest takie:

Znaleźć binarne kody zwrotne dla 5 komunikatów k1..k5 o prawdopodobieństwach p1..p5.

Dane:
p1(k1) = 4/9
p2(k2) = 2/9
p3(k3) = 1/9
p4(k4) = 1/9
p5(k5) = 1/9

Krok 1:
k4 + k5 = 2/9

Krok 2:
k2 + k3 = 3/9
(k2 + k3) + (k4 + k5) = 5/9
k1 + [(k2 + k3) + (k4 + k5)] = 1

Krok 3:
[(k2 + k3) + (k4 + k5)] + k1
// no i teraz tu trzeba utworzyć kody zwarte dla poszczególnych komunikatów, ale nie czaję jak to się robi :( [sciana] ;( [wstyd]

Jak ktoś wie, to proszę o pomoc ;(

0

Mysle ze to o to chodzi:

Jak mamy drzewo:

       *
     0/ \1
     /   *
    /  0/ \1
   /   /   \
  /   *     *
 /  0/ \1 0/ \1
/   /   \ /   \
k1  k2 k3 k4 k5

//a w notatniku tak ladnie wygladalo ;-)

i idziemy od korzenia, jesli w prawo to 1 jesli w lewo to 0.
i mamy
k1 - 0
k2 - 100
k3 - 101
k4 - 110
k5 - 111

0
Dane:
p1(k1) = 4/9
p2(k2) = 2/9
p3(k3) = 1/9
p4(k4) = 1/9
p5(k5) = 1/9

Krok 1:
k4 + k5 = 2/9
k4=0
k5=1

Krok 2:
k2 + k3 = 3/9
k2=0
k3=1
(k2 + k3) + (k4 + k5) = 5/9
k2=00
k3=01
k4=10
k5=11
k1 + [(k2 + k3) + (k4 + k5)] = 1
k1=0
k2=100
k3=101
k4=110
k5=111
0

Dzięki panowie - już czaję motyw :) [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1