Кодирование Хаффмана: как понять сжатие без потерь
Коротко: Кодирование Хаффмана даёт частым символам короткие, а редким — длинные битовые последовательности, так что данные уменьшаются без потери информации.
Подробнее: Обычно каждый символ занимает одинаковое число бит (ASCII: 8). Но буквы встречаются с разной частотой (в немецком «e» очень частая, «q» редкая). Дэвид Хаффман (1952) нашёл оптимальный беспрефиксный метод: частые символы → короткие коды.
Подробности
Принцип
- Подсчитать частоты (…
См. также: сжатие, куча и очередь с приоритетом, ASCII и наборы символов, файлы ZIP