|
0 / 0 / 2
Регистрация: 14.02.2011
Сообщений: 25
|
|
Нужен код программы для кодировки методом ХафФмана30.10.2011, 19:42. Показов 2111. Ответов 0
Метки нет (Все метки)
Немного теории:
Дерево кодирования Хаффмена (Н-дерево) - двоичное дерево, у которого каждый узел имеет вес, и вес родителя равен суммарному весу его детей. Классический алгоритм Хаффмена на входе получает таблицу частот встречаемости символов в сообщении. Далее на основании этой таблицы строится дерево кодирования Хаффмена (Н-дерево). Алгоритм построения Н-дерева прост и элегантен. 1. Символы входного алфавита образуют список свободных узлов. Каждый лист имеет вес, который может быть равен либо вероятности, либо количест¬ву вхождений символа в сжимаемое сообщение. 2. Выбираются два свободных узла дерева с наи¬меньшими весами. 3. Создается их родитель с весом, равным их сум¬марному весу. 4. Родитель добавляется в список свободных узлов, а двое его детей удаляются из этого списка. 5. Одной дуге, выходящей из родителя, ставится в соответствие бит 1, другой — бит 0. 6. Шаги, начиная со второго, повторяются до тех пор, пока в списке свободных узлов не останется только один свободный узел. Он и будет считаться корнем дерева. Классический алгоритм Хаффмена имеет один су¬щественный недостаток. Для восстановления содер¬жимого сжатого сообщения декодер должен знать таб¬лицу частот, которой пользовался кодер. Следова¬тельно, длина сжатого сообщения увеличивается на длину таблицы частот, которая должна посылаться впереди данных, что может свести на нет все усилия по сжатию сообщения. Кроме того, необходимость на¬личия полной частотной статистики перед началом собственно кодирования требует двух проходов по со¬общению: одного для построения модели сообщения (таблицы частот и Н-дерева), другого для собственно кодирования. Что должно быть в программе: 1.Вход программы: произвольный текстовый файл. Реализуйте только первую итерацию классического алгоритма. На первой итерации происходит построение модели данных: построение таблицы частот и Н-дерева. 2.Вывод программы: "таблица" кодов для каждого символа. Если можно: Код был с кометариями и не очень объёмен. А то я на С++ новичок
0
|
|
| 30.10.2011, 19:42 | |
|
Ответы с готовыми решениями:
0
Нужен исходный код программы для изучения Нужен код программы (Windows Forms) с комментариями для изучения языка Нужен код программы для перевода чисел с десятичной системы счисления в римские числа |
| 30.10.2011, 19:42 | |
|
Помогаю со студенческими работами здесь
1
Код Хаффмана для факсимильных сообщений Сжать XML файл методом Хаффмана или арифметическим методом или методом RLE нужен код программы Очень нужен код программы Нужен код программы распознования речи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|