0 / 0 / 0
Регистрация: 22.08.2018
Сообщений: 1
|
|
1 | |
Алгоритм Хаффмана22.08.2018, 18:02. Показов 822. Ответов 3
Метки нет (Все метки)
Я пытался построить простой архиватор на базе алгоритма, который мог бы кодировать произвольный файл. Побитово считывал с файла и получил таблицу с 256 битов и частотой вхождения каждого бита. Построил на их базе дерево, которое оказалось довольно глубоким, и при кодировании получается файл большего размера, чем исходный. Что то не так(не так понял)? В теории написано что можно сжать произвольный файл, но примеры только на тектовых символах с алфавитом меньше 10...
0
|
22.08.2018, 18:02 | |
Ответы с готовыми решениями:
3
Алгоритм Хаффмана Алгоритм Хаффмана. Вероятность Алгоритм Хаффмана или LWZ - сжатие Алгоритм Хаффмана, какую кодировку использовать? |
Модератор
3055 / 2197 / 459
Регистрация: 26.03.2015
Сообщений: 8,482
|
|
22.08.2018, 19:32 | 2 |
0
|
24.08.2018, 19:47 | 3 |
Алфавит меньше 10 будет в среднем кодироваться четырьмя битами. Одной только заменой в тексте однобайтовых ASCII символов на пачки из нескольких четырёхбитных, ты одним этим сожмёшь текст в два раза, а ведь частые символы там будут занимать ещё меньше.
В какой структуре ты хранишь словарь, что он получается большим? Ты же сам говоришь, в словаре 10 символов? Вот и храни эти 10 символов только.
0
|
447 / 323 / 129
Регистрация: 18.07.2017
Сообщений: 1,454
|
|
02.09.2018, 20:09 | 4 |
Код в студию! Желательно весь, но если у вас алфавит составляется правильно, то можно только часть в которой идет само кодирование.
И когда у вас получен алфавит как вы записываете сжатый код в выходной файл? Читаете символ из исходного файла, находите его код в полученном алфавите и записываете без смещения?
0
|
02.09.2018, 20:09 | |
02.09.2018, 20:09 | |
Помогаю со студенческими работами здесь
4
Исходники сжатия LZW,алгоритм Хаффмана Проблемы с алгоритмом Хаффмана Оптимизация кода хаффмана Адаптивное кодирование Хаффмана Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |