Я реализовал простой компрессор, используя чистый код huffman под Windows. Но я не знаю много о том, как быстро декодировать сжатый файл, мой плохой алгоритм:
Перечислить весь код huffman в таблице кодов, а затем сравнить его с битами в сжатом файле. Получается ужасный результат: для распаковки 3 МБ файла потребуется 6 часов.
Не могли бы вы предоставить более эффективный алгоритм? Должен ли я использовать Hash или что-то еще?
Обновление: Я выполнил декодер с таблицей состояний, основанный на моей рекомендации друга Лин. Я думаю, что этот метод должен быть лучше, чем травеальное дерево хаффмана, 3 МБ в течение 6 секунд.
спасибо.