informatika:maturita:huffmann
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| informatika:maturita:huffmann [26. 09. 2020, 22.57] – vytvořeno rydlo | informatika:maturita:huffmann [26. 09. 2020, 23.18] (aktuální) – rydlo | ||
|---|---|---|---|
| Řádek 7: | Řádek 7: | ||
| V klasickém kódování ASCII zabere 22 B neboli 176 b. | V klasickém kódování ASCII zabere 22 B neboli 176 b. | ||
| - | V Huffmanově kódování pouze 46 b tedy necelých | + | V Huffmanově kódování pouze 60 b tedy necelých |
| - | Postup: | + | ==== Postup |
| - **Zjistíme četnost** jednotlivých znaků:< | - **Zjistíme četnost** jednotlivých znaků:< | ||
| ^ Znak | ^ Znak | ||
| Řádek 17: | Řádek 17: | ||
| - Zpětně **procházíme vzniklý strom** a na každé úrovni **přidělujeme vždy symboly 1 a 0** tak, že větev/znak s vyšší četností dostane 1 a větev/znak s nižší četností 0. | - Zpětně **procházíme vzniklý strom** a na každé úrovni **přidělujeme vždy symboly 1 a 0** tak, že větev/znak s vyšší četností dostane 1 a větev/znak s nižší četností 0. | ||
| - | Na příkladu: | + | ==== Na příkladu |
| - Nejnižší četnost mají znaky X,S, proto vznikne dvojznak (X,S) s četností 2:< | - Nejnižší četnost mají znaky X,S, proto vznikne dvojznak (X,S) s četností 2:< | ||
| ^ Znak | ^ Znak | ||
| Řádek 23: | Řádek 23: | ||
| </ | </ | ||
| - Další dvojice v pořad je O a dvojznak (X, | - Další dvojice v pořad je O a dvojznak (X, | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - Nyní mají nejnižší četnost znaky N a J, vzniká z nich dvojznak:< | - Nyní mají nejnižší četnost znaky N a J, vzniká z nich dvojznak:< | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - V dalším kroku budeme slučovat trojznak XSO a dvojznak NJ, který bude mít hodnotu 7:< | - V dalším kroku budeme slučovat trojznak XSO a dvojznak NJ, který bude mít hodnotu 7:< | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - Dále slučujeme mezeru a E:< | - Dále slučujeme mezeru a E:< | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - V předposledním kroku bude složený znak NJXSO spojen s T:< | - V předposledním kroku bude složený znak NJXSO spojen s T:< | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - Při posledním složení už vznikne jediný složený znak, tedy kompletní strom: | - Při posledním složení už vznikne jediný složený znak, tedy kompletní strom: | ||
| - | ^ Znak | + | ^ Znak |
| - | ^ Četnost | + | ^ Četnost |
| </ | </ | ||
| - | Výše uvedený řetězec lze zapsat také formou stromu: | + | ==== Výše uvedený řetězec lze zapsat také formou stromu |
| - | {{ : | + | |
| + | {{ : | ||
| + | |||
| + | ==== Při zpětném sestavení přidělujeme 1 a 0 ==== | ||
| + | |||
| + | |||
| + | | krok: ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ Celkem | | ||
| + | ^ | ||
| + | ^ | ||
| + | ^ SPC | 0 | 0 | | ||
| + | ^ | ||
| + | ^ | ||
| + | ^ | ||
| + | ^ | ||
| + | ^ | ||
| + | |||
| + | [[http:// | ||
| + | ==== Zakódovaný text ==== | ||
| + | 100111111011000010011101010001110010011100111110010011101110 | ||
| + | |||
| + | Dekódování probíhá **sekvenčně** náhradou za znak z tabulky, vždy jakmile to nalezená sekvence umožňuje: | ||
| + | | 10 | 01 | 1111 | 10 | 1100 | 00 | 10 | 01 | 11010 | 10 | 00 | 1110 | 01 | 00 | 1110 | 01 | 1111 | 00 | 10 | 01 | 11011 | 10 | | ||
| + | | T | E | N | T | O | ||
informatika/maturita/huffmann.1601153862.txt.gz · Poslední úprava: autor: rydlo
