Diskuse:Huffmanovo kódování

Poslední komentář: před 2 lety od uživatele Jx

Dobry den, neplyne z kroku 5 (Posledním dvěma znakům přiřadíme kódové znaky 1 (s2, znak s vyšší pravděpodobností) a 0 (s134).) nejednoznacnost? Jakozto protipriklad budiz situace, kdy s2 = s134, pak musime nedeterministicky neco priradit, a tudiz i nedeterministicky dekodovat. Petr B. -- Tento komentář byl přidán 11. 9. 2011

Od kroku 5 mi to není jasné. Co vlastně je znak s134? Byl by vhodný (spíš potřebný) příklad.

--WikiShooter (diskuse) 1. 6. 2021, 16:19 (CEST)Odpovědět

Kdybych to kdysi neprogramoval jako semestralku ve skole, tak bych to z clanku taky nepochopil. Je to psane nejak moc matfyzacky. Na anglicke wiki to je popsane lepe.
V principu jde o to, ze mas nejakou zpravu; zjistis cetnost jednotlivych znaku v teto zprave; podle teto cetnosti vyrobis strom/slovnik, jakemu znaku odpovidaji jake bity; posles na druhou stranu slovnik a potom uz muzes posilat zpravu prevedenou na proud bitu. Diky tomu, ze nejcetnejsi znaky maji nejkratsi kusy bitu, tak to ve vysledku muze byt uspornejsi, nez posilat puvodni zpravu (ve ktere treba jednomu znaku/bajtu mohlo odpovidat 8 bitu). Jeste tam je chytak, kdyz ten proud komprimovanych bitu posilas po bajtech, tak v poslednim poslanem bajtu mohou nejake bity zbytecne, takze na zacaktu se hodi poslat delku zpravy.
Podobny priklad je Morseovka, kde nejcastejsi znaky (v anglictine) jsou nejkratsi. --Jx (diskuse) 2. 6. 2021, 14:35 (CEST)Odpovědět
Zpět na stránku „Huffmanovo kódování“.