Huffman kódolás - tömörítés - fa - online dekódolás
A Huffman kódolás visszafejtése
Huffman kódoló generátor
Szerszám Huffman kódolással tömörítésre/kicsomagolásra. A Huffman kódolás egy veszteségmentes adattömörítési algoritmus, amely bináris fát és változó hosszúságú kódot használ az előfordulás valószínűsége alapján.
Válaszok a kérdésekre
Hogyan kell kódolni a Huffman Coding segítségével? (Titkosítási elv)
A kód Huffman használja a betűk megjelenési gyakoriságát a szövegben, számítsa ki és rendezze a karaktereket a leggyakoribbaktól a legkevésbé gyakran.
Példa: A DCODEMESSAGE üzenet háromszoros E betűt, kétszer D és S betűt és 1 alkalommal A, C, G, M és O betűt tartalmaz. .
A. Algoritmusa Huffman létrehoz egy fát, amely a levelek számára megtalálja a betűket, és az érték (vagy súly) alapján megadja az előfordulásuk számát az üzenetben. Ennek a fának a létrehozásához keresse meg a 2 leggyengébb csomópontot (a legkisebb súly), és akassza fel őket egy új csomópontra, amelynek súlya a 2 csomópont összege. Ismételje meg a műveletet, amíg csak egyetlen csomópontja nem lesz, amelyik lesz a gyökér (és amelynek súlya az üzenet teljes betűinek száma lesz).
Ezután az egyes karakterek bináris kódját úgy kapjuk meg, hogy a fát a gyökértől a levélig haladjuk, és mindegyik csomópontban feljegyezzük a pályát (0 vagy 1).
Példa: A DCODEMOI egy fa létrehozásához vezet, így a leggyakrabban jelenlévő D és O rövid kóddal rendelkezik. D = 00, O = 01, I = 111, M = 110, E = 101, C = 100 vagy 00100010010111001111 (20 bit)

Hogyan lehet dekódolni a Huffman-kódot? (A visszafejtés elve)
Kód visszafejtése Huffman megköveteli a levelezési fa vagy szótár ismeretét (bináris kód karakterek)
A megfejtéshez keresse meg a fát a gyökértől a levelekig (általában fentről lefelé), amíg meg nem kap egy meglévő levelet (vagy a szótárban ismert értéket).
Példa: Dekódolja a 00100010010111001111 üzenetet, a 0 keresés nem ad levelezést, majd folytassa a 00-val, amely a D betű kódja, majd 1 (nem létezik), majd 10 (nem létezik), majd 100 (C kódja) stb.