← Лаборатория

Неравномерные коды: условие Фано и код Хаффмана

Кодовое дерево, однозначное декодирование, кратчайшее слово для буквы и построение кода Хаффмана.

Загрузка…

Что показывает симуляция

Кодовое дерево, однозначное декодирование, кратчайшее слово для буквы и построение кода Хаффмана.

«БАГАВДА» → 1001110011011110 (16 бит; равномерным кодом по 3 бита было бы 21). Все буквы стоят в листьях дерева, поэтому декодер идёт от корня по битам и, дойдя до буквы, точно знает, что слово кончилось. Выберите букву и нажмите на узел, чтобы изменить её код.

Другие режимы

  • Задача ЕГЭ. Каждая буква «закрывает» всю ветку под собой и весь путь от корня до себя. Новое слово можно поставить только в свободный узел; кратчайшее слово — свободный узел, который ближе всех к корню.
  • Код Хаффмана. Шаг 1: два самых редких узла — «ы» (1) и «л» (1). Объединяем их в новый узел с весом 1 + 1 = 2 и дальше считаем его одним «символом». Редкие символы окажутся глубоко в дереве и получат длинные коды.