Начните с текстовым файлом, который выглядит следующим образом:Декодирование алгоритма/реализация с использованием дерева Хаффмана
a: 0
b: 100
c: 101
d: 11
0 0 100 100 11 101
Так это будет декодировать: aabbdc
Что декодирования алгоритм я мог бы использовать, что строит дерево Хаффмана, а затем использует его для декодирования сообщения? Образец кода будет также высоко оценен!
Вот что я имел в виду:
- создать таблицу поиска, которая отображает каждый символ его биты
- создать корневой узел
- построить дерево, читать в каждом бите из кодированных
- если 0, создайте левого ребенка. если 1, создать правильный ребенка
- если пространство будет достигнуто, указывают лист каким-то образом (нуль левый и правый указатели)
- не используют биты мы дочитали до этого места и увидеть, что это таблица поиска
- вставить символ в этом листе
тогда, я мог бы просто прочитать каждый бит снова и он двигаться по дереву. когда он попадает в космос, я просто верну персонаж на лист, который он достиг?
написать код и посмотреть, что произойдет – Pepe
Наличие кодов, разделенных пробелами, устраняет все сложности с декодированием и действительно устраняет необходимость использования кодов без префикса. Кроме того, если вы серьезно относитесь к кодированию Хаффмана, посмотрите на декодирование на основе таблиц. – harold