Algoritmul lui Huffman:
0. Introducem frunzele (caracter, frecvență) într-o coadă cu priorități (listă sortată).
se extrag primele 2 noduri (corespunzătoare celor mai putin frecvente simboluri)
se creeaza un nou nod avand ca si frecvență suma celor 2 noduri extrase iar nodurile extrase devin fiu stang, respectiv drept
nodul nou se insereaza in coadă astfel încat coada este din nou sortată după frecvență
Repetăm pașii 1-3 până când avem un singur nod în coadă.
Rădăcina arborelui Huffman se găsește acum în coadă. Arborele a fost creat într-o manieră bottom-up dinspre frunze spre rădacină, iar nu top-down ca până acum.
Pentru aflarea codurilor binare, se parcurge arborele dinspre radacina si se retine drumul parcurs
(0 dacă mergem pe legătura stangă si 1 când mergem pe legătura dreaptă)
Când ajungem în noduri frunză (caracter, frecvență), atunci obtinem codul corespunzător acelui caracter.