Кодові дерева, коди Хаффмана

Дерево будується знизу. Виписуються кінцеві вершини дерева з їх частотами:

Беруться дві вершини з найменшими значеннями частот і над ними створюється вершина з сумою цих частот:

Кодові дерева, коди Хаффмана

Вершини з найменшими частотами далі при побудові дерева не беруться до уваги, їх замінила сумарна вершина, яка тепер стає однією з найменших по частоті з решти вершин. З'єднуємо цю вершину з іншого вершиною з найменшим значенням частоти, будуючи над ними нову вершину з сумарною частотою.

Кодові дерева, коди Хаффмана

Далі знову знаходимо пари вершин з меншими частотами і будуємо над ними вершини з сумарними частотами:

Кодові дерева, коди Хаффмана

Шукаємо серед отриманих нових і тих вершин, які ще не брали участі в побудові нових, пари з найменшими значеннями частот, і над ними будуємо сумарні вершини. При цьому кожну ліву гілку помічаємо нулем, а кожну праву одиницею:

Кодові дерева, коди Хаффмана

Продовжуючи цей процес в результаті отримуємо дерево:

Кодові дерева, коди Хаффмана

Це кодове дерево породжує наступний код для заданих повідомлень:

Схожі статті