Comments 17
Я так понимаю, что перед сжатым сообщением должен быть словарь ?
Ну чтобы понимать, что Е кодируется как 00 и так далее
(удалено)
Есть двухпроходные варианты, которые на первом проходе генерируют словарь, а на втором уже кодируют.
Есть однопроходные. Они работают с динамическим словарем. Словарь перестраивается при кодировании каждого нового символа.
Ещё есть адаптивный алгоритм Хаффмана, где по мере поступления символов пересчитываются частоты символов и (инкрементально) перестраивается дерево.
Планшеты, телефоны, CRT мониторы VGA...
у меня на стене ТВ 43" с разрешением 1920х1080, а в руках телефон 6.7" с разрешением 2460х1080, а на столе монитор 2011 года с разрешением 1280х1024 по высоте больше чем 22" широкоформатный монитор.
Вообще есть еще более эффективное арифметическое кодирование, но из-за того, что кто-то хотел очень много денег, оно гораздо менее распространено, чем могло бы...
Оно изобретено гораздо позже. Да и вообще патент уже истёк.
Ну как говориться "ложечки нашлись, но осадочек остался". Хаффман в стольки легаси сидит, что будет еще долго использоваться "по дефлоту". Арифметическое постепенно внедряется, например в JPEG оно есть, если не путаю, но...
Но мы то все знаем, что лучший алгоритм сжатия придумал Хендрикс.
Вы про тот, который сжимает что угодно до одного байта?
Только алгоритм расжатия придумать осталос
Этот алгоритм придумал Бабушкин лет 10 назад: https://engineerblog.ru/algoritm-arhivatsii-babushkina/
Сжатие данных управляет Интернетом. Вот как это работает