ALG08

ALG08



308 Rozdział 13. Kodowanie i kompresja danych

•    weź dwa znaki X i Y z najmniejszymi częstotliwościami f| i i usuń jc ze 3terty H;

•    zastap X i i znakiem zastępczym Z, którego częstotliwość występowania wynosi f=f| + fi;

•    wstaw znak Z do kolejki II;

•    wstaw X i f do drzewa T jako potomków Z;

I

)

zwróć drzewo T;

)

Algorytm ten jest oczywiście równoważny podanemu wcześniej, zmieniliśmy tylko formę zapisu.

Zachęcam Czytelnika do głębszych studiów teorii kodowania i informacji, gdyż są to bardzo ciekawe zagadnienia o dużym znaczeniu praktycznym. Z braku miejsca nie mogłem podjąć wielu interesujących wątków, poza tym pewne zagadnienia trudno przełożyć na łatwy do zrozumienia kod C-H-. Proszę zatem potraktować ten rozdział jako wstęp, za którym kryje się bardzo rozległa i ciekawa dziedzina wiedzy!

Uwaga:

Na dyskietce dołączonej do książki, w' katalogu HUFFMAN znajdują się programy IIUF.C i UNHUF.C autorstwa Shaun Case. Są to programy typu public domain, ściągnięte przez ftp z sieci Internet. Autor prezentuje gotowe procedury kodujące i dekodujące pliki binarne. Pliki są dostarczone w nietkniętej postaci i mogą wymagać dostosowania do konkretnej wersji kompilatora C++. (Oryginalnie są napisane w języku C dla kompilatora Borland c++ 2.0). Oczywiście, nie mogę ręczyć, że działają one poprawnie, ale laka już jest idea oprogramowania public domain...


Wyszukiwarka

Podobne podstrony:
ALG)4 294 Rozdział 13. Kodowanie i kompresja danych jednak w przypadku zwykłych tekstów, zawierający
ALG)8 298 Rozdział 13. Kodowanie i kompresja danych W konsekwencji, jeśli będziemy interpretować duż
ALG00 300 Rozdział 13. Kodowanie i kompresja danych struct wsp *nastepny; }WSPÓŁCZYNNIKI, * WS
ALG02 302 Rozdział 13. Kodowanie i kompresja danych Podnoszenie do potęgi może być zrealizowane popr
ALG04 304 Rozdział 13. Kodowanie i kompresja danych 304 Rozdział 13. Kodowanie i kompresja danych Ry
ALG06 306Rozdział 13. Kodowanie i kompresja danych tekst zająłby 3x60=180 bitów. Popatrzmy teraz, ja
ALG)6 296RozdziaH3. Kodowanie i kompresja danych nak jej praktyczna realizacja została opracowana pr
DSCN7998 (2) 308 ROZDZIAŁ 13 • BLOKI ODNÓG PĘCZKA MISA I BLOKI WIĄZEK adzeSprawdź a 1.   &
78119 skanuj0346 (3) Rozdział 13. ♦ Współpraca PHP i MySQL 361Łączenie z bazą danych Do nawiązania p
49817 skanuj0348 (3) Rozdział 13. ♦ Współpraca PHP i MySQL else{ echo{ Została wybrana baza danych:
ALG)3 Rozdział 13Kodowanie i kompresja danych W chwili obecnej coraz więcej komputerów jest podłącza
ALG)5 13.1. Kodowanie danych i arytmetyka dużych liczb 295 dencji, jednak w praktyce najczęstsze zas
ALG)7 13.1. Kodowanie danych i arytmetyka dużych liczb 297 liczby pierwsze 5, NI i N2 (typowo 100 cy
ALG)9 13.1. Kodowanie danych i arytmetyka dużych liczb 299 ( int w[n]-{1,4,-2,O,7(; // współczynniki
ALG03 13.2. Kompresja danych metodą Huflinana 303 Dwa krótkie sygnały oznaczają znak krótki i długi
ALG05 13.2, Kompresja danych metodą Huffmana 305 Tabela 13 - 2. Prawdopodobieństwa występowania lite
ALG01 13.1. Kodowanie danych i arytmetyka dużych liczb 301 whilo (x!-NULL,) I res=wstaw(res,x->c,

więcej podobnych podstron