Другие языки программирования и технологии

алгоритм Хаффмана и Арифметического кодирования

Нужен исходник алгоритма Хаффмана или работающая программка которая сжимает и разжимает изображение и по арифметическому кодированию. Скиньте, пожалуйста, ссылочку или сами напишите, у кого есть. Очень нужно, помогите пожалуйста
Lev Solomon
Lev Solomon
282
Алгоритмы кодирования
www.software.intel.com

на страницах сообщества Intel Software. Статьи, примеры кода!
http://ru.wikipedia.org/wiki/Арифметическое_кодирование
Арифметическое кодирование — Википедия

Арифметическое кодирование — один из алгоритмов энтропийного сжатия. В отличие
от алгоритма Хаффмана, не имеет жесткого постоянного соответствия входных ...
ru.wikipedia.org/wiki/Арифметическо.. .
Метод Хаффмана и родственные методы

10 мар 2011 ...Алгоритмы Хаффмана и Шеннона-Фано являются одними из классических, ..Метод
арифметического кодирования не имеет этого ограничения: он ...
compression.ru/arctest/descript/huf...
Арифметическое кодирование | Алгоритмы сжатия и компрессии

А метод Хаффмана присвоит этому символу код длины 1 или 2 бита. (Перед тем как
углубиться в теорию арифметического кодирования, стоит указать две работы ...
www.compression-pointers.ru/compres...

Метод Хаффмана (Huffman method)

Сжатие Хаффмана - статистический метод сжатия, который уменьшает среднюю длину кодового слова для символов алфавита. Код Хаффмана является примером кода, оптимального в случае, когда все вероятности появления символов в сообщении - целые отрицательные степени двойки. Код Хаффмана может быть построен по следующему алгоритму:

* Выписываем в ряд все символы алфавита в порядке возрастания или убывания вероятности их появления в тексте;
* Последовательно объединяем два символа с наименьшими вероятностями появления в новый составной символ, вероятность появления которого полагается равной сумме вероятностей составляющих его символов; в конце концов мы построим дерево, каждый узел которого имеет суммарную вероятность всех узлов, находящихся ниже него;
* Прослеживаем путь к каждому листу дерева помечая направление к каждому узлу (например, направо - 1, налево - 0).

Для заданного распределения частот символов может существовать несколько возможных кодов Хаффмана. Возможно определить 'каноническое' дерево Хаффмана, выбрав одно из возможных деревьев. Такое каноническое дерево может быть очень компактно, передавая только длину в битах для каждого кодового слова. Такой метод используется в большинстве архиваторов (PkZip, Lha, Zoo, Arj, ..).
http://compression.ru/arctest/descript/huffmans.htm
Nazim Sultanov
Nazim Sultanov
95 781
Лучший ответ
Ну и запросы у вас, товарищ. Поискать на специализированых сайтах не пробовали