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)