Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

Сжатие информации   Найти похожие ветки 

 
AntonSh   (2004-10-22 12:16) [0]

Подскажите, пожалуйста, может кто знает.
Вот прочитал про такую реализацию метода. Например есть строка – “Антон”. Подсчитываем какой символ встречается чаще всего: н – 2. Тогда записываем нашу строку в виде:  01001. Удаляем из нашей строки символ – н: Ато. Производим ту же операцию. Так как все одинаковое количество, то берем символ А : 100. Остаётся – то. Соответственно: 10. В итоге получаем: 01001100100. Вместо  5 байт получаем 1 и 1 бит. Можно ли данный метод считать правильным? Спасибо.


 
Reindeer Moss Eater ©   (2004-10-22 12:18) [1]

Совершенно правильный метод


 
Ega23 ©   (2004-10-22 12:20) [2]

Вот теперь только дешифровки алгоритм опиши, и дадуть тебе какую-нить деньгу большую в виде премии.


 
Reindeer Moss Eater ©   (2004-10-22 12:21) [3]

Дешифровка - дело десятое.
Мы тут про сжатие.


 
Ega23 ©   (2004-10-22 12:26) [4]

Ни фига себе "дело десятое"! А кому это сжатие без восстановления нужно?


 
AntonSh   (2004-10-22 12:32) [5]

Спасибо за ответы. Я хочу объяснить почему у меня возник данный вопрос. Вот везде в Inete описан данный метод следующим образом :
Алгоритм LZW-сжатия в простейшей форме приведен на рис.1. Каждый раз, когда генерируется новый код, новая строка добавляется в таблицу строк. LZW постоянно проверяет, является ли строка уже известной, и , если так, выводит существующий код без генерации нового.
Процедура LZW-сжатия:

СТРОКА = очередной символ из входного потока
WHILE входной поток не пуст DO
СИМВОЛ = очередной символ из входного потока
IF СТРОКА+СИМВОЛ в таблице строк THEN
СТРОКА = СТРОКА+СИМВОЛ
ELSE
вывести в выходной поток код для СТРОКА
добавить в таблицу строк СТРОКА+СИМВОЛ
СТРОКА = СИМВОЛ
END of IF
END of WHILE
вывести в выходной поток код для СТРОКА

Но как мне кажется мой способ(предложенный моим товарищем) несколько отличается от описаного в книге. Где же правда?


 
Гарри Поттер ©   (2004-10-22 12:53) [6]

>Вот прочитал про такую реализацию метода

Здесь прочитал?
http://www.lapsha.ru/articles/tech/2004/01/06/150700.html

Ну тогда объединяйтесь и пишите разархиватор, тоже на страницы лапшпа.ру попадешь.


 
mrcat ©   (2004-10-22 13:44) [7]

>Ни фига себе "дело десятое"! А кому это сжатие без восстановления нужно?

Хэш-функции: сжатие без восстановления


 
Symb   (2004-10-22 13:46) [8]

AntonSh, алгоритм LZW анализирует входной текст не посимвольно, а пытается найти повторяющиеся строки. То, что описано в вопросе -- посимвольный анализ, где новый код символа зависит от его частоты.
Алгоритмы, которые так работают (вполне успешно): Метод Хаффмана (Huffman) и метод Шеннона-Фано (Shannon-Fano). Посмотри в инете их описание.


 
Anatoly Podgoretsky ©   (2004-10-22 13:50) [9]

Ega23 ©   (22.10.04 12:26) [4]
Трудно обеспечить безопасность если будет возможно восстановление.


 
Анонимщик ©   (2004-10-22 16:23) [10]

Действительно, на Хаффмана похоже, только так описано, что ничего не понятно.


 
AntonSh   (2004-10-22 17:25) [11]

Главное что данное сжатие работает. А почему автор одной умной книги по алгоритмам относит данный метод к LWZ остаётся только догадываться.


 
TUser ©   (2004-10-22 17:40) [12]


> автор одной умной книги

?


 
TUser ©   (2004-10-22 17:42) [13]


> Действительно, на Хаффмана похоже

Да не Хафман это. Хотя бы потому, что здесь не гарантируется никак "суффиксность" шифра



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

Текущий архив: 2004.11.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
1-1098184658
Mishenka
2004-10-19 15:17
2004.11.07
Компонент как в Outlook Express?


14-1098043620
SkyRanger
2004-10-18 00:07
2004.11.07
Имортизм - нова религия или что??


3-1097070108
AlexV
2004-10-06 17:41
2004.11.07
Помогите пожалуйста записать содержимое TRichEdit в поле в mdb


1-1098439910
JaoDa
2004-10-22 14:11
2004.11.07
Можно ли вытащить версию exe файла?


1-1098343873
sergeii
2004-10-21 11:31
2004.11.07
Permezhenie Mishki