Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

Архиваторы   Найти похожие ветки 

 
Cerberus ©   (2006-12-03 20:59) [0]

Не много не понимаю(а точнее много не понимаю).
Ну вот хочу написать архиватор(образно), пусть самый простой.
Выбрал алгоритм хафмана(как один из самых простых для понимания).
Так понял там различия в сокращении размера знака.

И всё. может я что-то не так понял. Просто как всё это реализовать не доходит. Если есть какой нибудь маленький листинг на pascal то выложите плз.


 
tesseract ©   (2006-12-03 21:01) [1]

http://www.compression.ru/


 
ANTPro ©   (2006-12-03 21:08) [2]

Кто-нибудь встречал порт алгоритма PPM на pascal?


 
Zeqfreed ©   (2006-12-03 21:16) [3]

Думаю, самый простой для понимания это один из семейства LZW. Можно взять deflate. Да и в реализации он попроще будет, чем хафман :)


 
Cerberus ©   (2006-12-03 21:22) [4]


> Zeqfreed ©   (03.12.06 21:16) [3]
> Думаю, самый простой для понимания это один из семейства
> LZW. Можно взять deflate. Да и в реализации он попроще будет,
>  чем хафман :)

Про хавмана нам и в институте читали сам алогритм понятен. А вот как сделат чтобы он что-то действительно сжимал а не просто одна теория. К примеру есть текст закодируем его получим ещё более длинный текст(причём ещё говорим о каком-то сжатие). А вот тонкостей "не стекстом" нам не читали.


 
MeF Dei Corvi ©   (2006-12-03 21:37) [5]


>  А вот как сделат чтобы он что-то действительно сжимал а
> не просто одна теория. К примеру есть текст закодируем его
> получим ещё более длинный текст(причём ещё говорим о каком-
> то сжатие).

Можно пример такого текста? :)


 
Zeqfreed ©   (2006-12-03 21:47) [6]

> А вот тонкостей "не стекстом" нам не читали.

Хорошо вам, нам вот вообще не будут ничего читать...


 
palva ©   (2006-12-03 21:51) [7]

http://sources.codenet.ru/download/401/Haffman.html


 
Gero ©   (2006-12-03 22:38) [8]

http://algolist.manual.ru


 
ferr ©   (2006-12-03 22:41) [9]

> Можно пример такого текста? :)

for i := 1 to 255 do
 write(Chr(i));

P.S. если хранить дерево.


 
palva ©   (2006-12-03 22:54) [10]


> А вот как сделат чтобы он что-то действительно сжимал а
> не просто одна теория.

Никак не сделать. Всегда можно придумать текст, который после сжатия будет больше оригинала. Например, достаточно большой набор случайных чисел, или очень маленький текст. А текст длиной один байт не может быть сжат в принципе.


 
Джо ©   (2006-12-03 23:07) [11]

> [10] palva ©   (03.12.06 22:54)

> А текст длиной один байт не может быть сжат в принципе.

"Сжать" можно совершенно что угодно. Необходимо еще соблюдение условия, чтобы "сжатое" можно было без потерь и однозначно восстановить :)


 
click   (2006-12-03 23:14) [12]


> Cerberus ©   (03.12.06 21:22) [4]
> Про хавмана нам и в институте читали сам алогритм понятен.
>  А вот как сделат чтобы он что-то действительно сжимал а
> не просто одна теория.


Почитай:
Джулиан Бакнелл "Фундаментальные алгоритмы и структуры данных в Delphi"
поможет!


 
Гарри Поттер ©   (2006-12-03 23:24) [13]

Конкурент: http://www.lapsha.ru/articles/tech/2004/01/06/150700.html  :)


 
ИА   (2006-12-03 23:32) [14]

>И всё. может я что-то не так понял. Просто как всё это реализовать не доходит. Если есть какой нибудь маленький листинг на pascal то выложите плз.

Ваш вопрос противоречит себе самому. В наши дни писать простой архиватор имеет смысл если только вы хотите разобраться (с достаточно интересными, кстати) алгоритмами сжатия. Но к чему при этом просить пример кода? Я бы кстати выбрал для первичного упражнения словарный алгоритм, как тут уже говорили, LZW


 
Vga ©   (2006-12-04 00:39) [15]

> [0] Cerberus ©   (03.12.06 20:59)

Это скорее компрессор. Для написания архиватора писать алгоритм сжатия не обязательно :) Можно использовать готовый или вообще обойтись без сжатия (например tar).


 
Alex Konshin ©   (2006-12-04 09:11) [16]

Учат обычно Хафману со статической таблицей или с таблицей, вычисляемой для блока и записываемой вместе с этим блоком. А применяют на практике как минимум алгоритмы с динамической модификацией таблицы без сохранения ее, а то и с другими наворотами. Часто алгоритм Хафмена применяется уже к результатам работы других алгоритмов сжатия(тот же LZW), так что текста там уже нет.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1165569945
Creative
2006-12-08 12:25
2006.12.24
Не рисуется окно


15-1164726910
Сало
2006-11-28 18:15
2006.12.24
Я знал!


4-1155809857
apic
2006-08-17 14:17
2006.12.24
Работа с ресурсами


15-1165266043
Cerberus
2006-12-05 00:00
2006.12.24
Почему возникает ошибка при попытке чтения блока.


15-1165078398
Джо
2006-12-02 19:53
2006.12.24
Сигналы IR пультов управления для бытовой аудио-видео техники





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский