Huffman

Huffman



/* Vertex.symbol - kodowany symbol

Vertex.freq - częstość kodowanego symbolu

Vertex.left - dowiązanie do lewego następnika obiektu typu Vertex Vertex.right - dowiązanie do prawego następnika obiektu typu Vertex */

1

Vertex Huffman(Vertex Input[]) {

// Input - tablica wejściowa symboli wraz częstościami ich występowania

2

PriorityQueue PQ; // kolejka priorytetowa typu MIN dla obiektów typu

Vertex

3

// początkowo pusta

Vertex Tmpl, Tmp2;

4

int i:=0;

5

6

PQ:=PQConstruct (Input) ; // budowa kolejki priorytetowej z obiektów

typu Vertex

7

// względem wartości pola freq

8

while (i<size(Input)-1) do {

9

Tmpl :=MIN (PQ) ;

10

DELMIN(PQ) ;

11

Tmp2:=MIN(PQ);

12

DELMIN(PQ) ;

13

14

Tmpl :=connect (Tmpl, Tmp2) ; // łączymy symbole

15

16

INSERT (PQ, Tmpl) ; // połączone symbole umieszczamy w kolejce priorytetowej

17

}

18

19

return MIN(PQ);

20

}


Wyszukiwarka

Podobne podstrony:
Przedmiotowe efekty kształcenia (symbol) Efekty kształcenia Odniesienie do
Przedmiotowe efekty kształcenia (symbol) Efekty kształcenia Odniesienie do
Równość Symbol równości może służyć do budowania zdań. term1 = term2 jest prawdziwe w
Instrukcja obsługi mtz?LARUS00002 MIĘDZYNARODOWE SYMBOLEStosowanie na urządzeniach zajrzyj do inst
Zrozumienie przez dzieci znaczenia symboli narodowych, oraz wdrożenie do
Wiązanie koordynacyjne symbolizujemy jako -> (od donora do akceptora) Przykład: H, 4- H* = NH4* H
Symbol E może być stosowany do poziomów eluwialnych w obrębie poziomu B lub pomiędzy jego partiami,
Instrukcja obsługi mtz?LARUS00002 MIĘDZYNARODOWE SYMBOLEStosowanie na urządzeniach zajrzyj do inst
klszesz468 Dział IV. Onomastyka i symbolika znaków 946. W przedmowie do pierwsze] części te] tu prac
(nr punktu pobrań) (symbol punktu pobrań)Skierowanie do laboratorium (punktu pobrań) (nazwisko i
Należy dodać, że symbol / zarezerwowany jest tylko do oznaczania modelu matematycznego, a symbole g
Przedmiotowe efekty kształcenia (symbol) Efekty kształcenia Odniesienie do

więcej podobnych podstron