Как WinRAR выполняет проверку степени сжатия? - PullRequest
4 голосов
/ 27 марта 2011

например. Как он может сказать, что текстовый файл 4 ГБ может быть сжат, скажем, до 200 МБ? Очевидно, что он не читает все содержимое за 2 секунды или около того ... так какой же алгоритм прогнозирования он использует?

Ответы [ 2 ]

0 голосов
/ 27 марта 2011

Обычно для сжатия х бит требуется -log (x) + log (2) бит.Однако это очень теоретическое значение, и оно зависит от данных, которые вы хотите сжать.Для ваших данных вы должны записать каждый символ и частоту и вставить его в формулу.Например, попробуйте сначала только 3 символа.Вы хотите посмотреть на Шеннон-код.

0 голосов
/ 27 марта 2011

Они используют вариант прогнозирования путем частичного сопоставления (PPM), который называется PPMd.Посмотрите на вики

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...