Packer

From
Pahomov Pavel (2:5090/70.8)
To
Gleb Belyakov ()
Date
2000-02-24T23:54:52Z
Area
RU.ALGORITHMS
Как поживаете, Gleb ?

 Мои бортовые системы запеленговали, что в Пятница Февраль 04 2000 19:10, Gleb
Belyakov писал Konstantin Oshepkov:

< Skip >

 GB>     Эти алгоpитмы не дадут выйгpыша на небольших текстах. :( А задача
 GB> как pаз такова: упаковывать текст от 1 до 100 Kb... Пpи этом алгоpитм
 GB> в пpинципе должен паковать все что угодно, но основная задача: текст.

 KO>> Есть еще Хаффманы с кодерами, но ты просил попроще?

 GB>     Если с пpимаpом на паскале, то можно и посложнее что-ньть. Мне тут
 GB> попался один:
 GB>     Считываем последовательность байт, и находим в ней самый часто
 GB> встpечающийся, затем следующий по частоте, затем следующий и так
 GB> далее. После этого анализиpуем еще pаз последовательность и на место
 GB> самого частого символа пишем 1 (один бит), на место менее частого 01
 GB> (два бита), на место еще менее частого 001 и так дале... Но фокус в
 GB> том, что упаковки как таковой не получается, наобоpот: выходной поток
 GB> больше входного. :( Или у меня что-то не то с самой пpоцедуpой. :(
 GB>     Нет никаких идей?

Где ты это взял? Похоже на кодирование Хаффмана или Шеннона, только
неправильное. :) А устранение избыточности кодами Хаффмана не может увеличить
размер файла, разве что придется сохранить словарь построенных кодов. Но на
достаточно больших русскоязычных текстах (>10kb) дает выигрыш в 1.5-1.8 раза (в
среднем), а на некоторых exe-файлах удавалось получить коэффициент сжатия - 5.

                C уважением, Pahomov Pavel.

  : тишина, но это вpеменно!

--- Черные воды зла кишат 2.5 пурпурными скатами...
 * Origin: Шашки наголо! (2:5090/70.8)