Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

мeтод Хафмана

13K
20 февраля 2007 года
AlexButcher
5 / / 24.11.2005
x1=151.121***oooo**y=5********c=0.********d=4
Это строку необходимо архивировать методом повторяющихся символов и методом Хафмана.
Первым методом все получилось правильно.
А при втором нет, помогите решить задачу.
при методе халфмана получилось что строка занимает 121 байт, мне сказали что это не правильно.
посмотрите плиз решение (прикрепленный файл) и скажите что не так.
ЗЫ есть два разных символа ноль и буква "o" я их учитывал как разные символы
9
20 февраля 2007 года
Lerkin
3.0K / / 25.03.2003
Ты, давай, исходник показывай. Может прямо по нему и глянем...
13K
20 февраля 2007 года
AlexButcher
5 / / 24.11.2005
исходников нет,
это чисто теоретический вопрос.
Программу к этому писать не надо.
Просто необходимо сравнить два метода архивации (метод Хафмана и метод повторяющихся символов), который их них больше сжимает файл для данной строчки: x1=151.121***oooo**y=5********c=0.********d=4
Чтобы это выяснить необходимо определить коэффициент сжатия строчки. А для этого надо знать размер заархивированной строчки.

Тот способ которым я нашел размер заархивированной строчки предствавлен в приложенных файлах (миниатюры). И полностью соответствует тому примеру который нам давали на паре, но почему-то это решения не верное.
ЗЫ то ли я ошибся то ли пример в институте не верный.
361
21 февраля 2007 года
Odissey_
661 / / 19.09.2006
Вопервых ты забыл про 1. Она тоже кодируется и у нее частота встречания равна 5.
Во вторых, непонятно как ты объединяешь символы? В самом начале ты объединяешь "2" и "x". А потом эту пару с "у". Но символы надо объединять по наименьшей частоте. У тебя же есть еще символы с частотой 1. То есть надо "у" и "с", далее "d" и "4",и тут уже с минимальной частотой только "0", ну и объединяешь его с любой твоей парой (где частота 2), и так далее. Но всегда в начале символы с наименьшой частотой. Надеюсь мысль ясна, подробнее здесь.
Присмотрись еще как там коды расставляются. Это тоже важно.
13K
21 февраля 2007 года
AlexButcher
5 / / 24.11.2005
Цитата: Odissey_
Вопервых ты забыл про 1. Она тоже кодируется и у нее частота встречания равна 5.
Во вторых, непонятно как ты объединяешь символы? В самом начале ты объединяешь "2" и "x". А потом эту пару с "у". Но символы надо объединять по наименьшей частоте. У тебя же есть еще символы с частотой 1. То есть надо "у" и "с", далее "d" и "4",и тут уже с минимальной частотой только "0", ну и объединяешь его с любой твоей парой (где частота 2), и так далее. Но всегда в начале символы с наименьшой частотой. Надеюсь мысль ясна, подробнее здесь.
Присмотрись еще как там коды расставляются. Это тоже важно.



Большое спасибо, разобрался....
Все понял, просто не знал что символы объединяются по наименьшей частоте втречания... С кодированием тоже разобрался... спасибо..

ЗЫ тему можно закрыть...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог