|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2010, 17:50 | #1 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 12
|
Вопрос по кодам Хаффмана
реализовал коды Хаффмана, на входе был довольно приличных размеров текст, вот что вышло
симв част код пробел 1001 01 3 334 001 6 330 000 5 317 1111 4 298 1110 7 296 1101 2 295 1100 9 287 1011 1 285 1010 8 281 1001 0 186 10001 п 2 10000101 ф 1 10000000 а 1 10000001 с 1 10000010 р 1 10000011 ч 1 100001000 о 1 100001001 м 1 100001101 я 1 100001110 в 1 100001111 ы 1 100001100 меня интересует, могут ли очень редкие символы кодироваться 9 и большим количеством битов, и нормально ли это... вообще коды правильные выдает? помогите советом |
28.03.2010, 18:04 | #2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
я думаю у вас дерево строится неправильно, 9 цифр для символа многовато
|
28.03.2010, 18:11 | #3 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 12
|
просто я скачивал реализацию кодов Хаффмана, для проверки своих кодов... вроде все правильно, или получается, что и реализация, которую я скачал оказалась тоже неправильной...?
|
28.03.2010, 18:55 | #4 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
а черт его знает, может и правильно, проверять лень
|
28.03.2010, 18:58 | #5 |
Пользователь
Регистрация: 29.10.2009
Сообщений: 12
|
тогда еще вопрос...) а как мне заархивировать файл? мой преподаватель сказал, что это можно сделать с помощью операции побитового сдвига... я прочитал про эту операцию, но никак не пойму, как с помощью нее мне записывать побитово символы в файл...?
|
29.03.2010, 00:42 | #6 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
На мой взгляд, действительно хреновый генератор кодов. Почему для наиболее часто втречающегося символа длина кода 2?
я бы ожидал чего-то вроде 0 10 101 110 1001 1010 1011 1100 1101 1110 10000 10001 ... то есть, для всего алфавита и цифр должно хватить кодов длиной 6. а для текста из примера хватит и 5. Последний раз редактировалось f.hump; 29.03.2010 в 00:49. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Архиватор Хаффмана | zetrix | Софт | 17 | 15.03.2014 13:45 |
блок-схемы по готовым программным кодам | uradik2 | Фриланс | 4 | 27.03.2010 07:03 |
Проверка кодов Хаффмана | BaSoff | Общие вопросы C/C++ | 1 | 21.03.2010 17:26 |
Литература по кодам Хаффмана | BaSoff | Общие вопросы C/C++ | 2 | 21.03.2010 11:34 |
реализация метода Хаффмана | ShturmBan | Помощь студентам | 2 | 13.01.2010 15:46 |