|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Теория - Алгоритм Хаффмана |
|
Теория - Алгоритм Хаффмана
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать
Всем привет! Поступил на факультет компьютерной инженерии, препод по проф предмету дал задачку, и пообещал поставить 5 балов за год, если услышит правильный ответ)
Итак: недавно я узнал что такое архивирование, и как оно приблизительно работает. Алгоритм Хафмана анализирует файл, анализирует в нём самые часто попадающиеся символы и кодирует их в самые мелкие битовые значения. Символы, которые попадаются реже - кодирует в более длинное битовое значение. Тот, кто знает как это работает - в курсе. Вопрос: как этот алгоритм правильно расшифровывает весь файл, если допустим код 010001011011010101, символ "а" - 01, а символ "я" - 010001. Как он понимает что нужно преобразовывать символ "а", а не "я"? В интернетах толкового ответа не нашел, везде только написано как он шифрует, а как расшифровывает - пара слов о префиксных кодах, которые я так и не понял. Прошу как можно проще дать ответ на вопрос, буду благодарен) |
|
Отправлено: 01:34, 02-11-2010 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать eg01st, описанная Вами ситуация:
Цитата eg01st:
|
|
Отправлено: 05:47, 02-11-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Большое спасибо за выложенный материал, сейчас пробежал глазами - уже более ясно стало, сегодня вечером буду применять это всё на практике)
|
Отправлено: 11:23, 02-11-2010 | #3 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Iska, если так же понятно расскажешь про арифметическое кодирование, то вообще расцелую
|
Отправлено: 12:29, 02-11-2010 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Полностью понял и даже проверил. На всякий случай задам вопрос: самые часто встречающиеся 3 символа будут иметь код 00 01 или 10, остальные же, будут иметь код 1110, 11110, 111110, 1111110, 111111110 и дт., а последний, самый редкий символ, будет иметь код 111111111111, то есть, символы с 4-го по n-1 будут заканчиваться на 0, а n - на 1?
|
|
Последний раз редактировалось eg01st, 03-11-2010 в 03:13. Отправлено: 01:09, 03-11-2010 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Помогите алгоритм составить | MaZaFaKa46 | Программирование и базы данных | 3 | 28-12-2008 22:00 | |
Алгоритм запуска ПО | p13rr0t | Хочу все знать | 2 | 11-05-2007 22:00 | |
Алгоритм | pauluss | Программирование и базы данных | 1 | 06-10-2006 10:53 | |
Подскажите алгоритм | wolland | Программирование и базы данных | 2 | 27-06-2003 17:56 | |
Алгоритм Чуфа | noname00.pas | Программирование и базы данных | 11 | 21-09-2002 00:48 |
|