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ącyALG)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, * WSALG02 302 Rozdział 13. Kodowanie i kompresja danych Podnoszenie do potęgi może być zrealizowane poprALG04 304 Rozdział 13. Kodowanie i kompresja danych 304 Rozdział 13. Kodowanie i kompresja danych RyALG06 306Rozdział 13. Kodowanie i kompresja danych tekst zająłby 3x60=180 bitów. Popatrzmy teraz, jaALG)6 296RozdziaH3. Kodowanie i kompresja danych nak jej praktyczna realizacja została opracowana prDSCN7998 (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 p49817 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łączaALG)5 13.1. Kodowanie danych i arytmetyka dużych liczb 295 dencji, jednak w praktyce najczęstsze zasALG)7 13.1. Kodowanie danych i arytmetyka dużych liczb 297 liczby pierwsze 5, NI i N2 (typowo 100 cyALG)9 13.1. Kodowanie danych i arytmetyka dużych liczb 299 ( int w[n]-{1,4,-2,O,7(; // współczynnikiALG03 13.2. Kompresja danych metodą Huflinana 303 Dwa krótkie sygnały oznaczają znak krótki i długiALG05 13.2, Kompresja danych metodą Huffmana 305 Tabela 13 - 2. Prawdopodobieństwa występowania liteALG01 13.1. Kodowanie danych i arytmetyka dużych liczb 301 whilo (x!-NULL,) I res=wstaw(res,x->c,więcej podobnych podstron