2013-12-16 2 views
1

Я пытаюсь сделать кодировку/декодирование huffman в схеме, поэтому у меня есть функция «частоты», которая делает список частот. Я сделал также функцию, которая нашла пару из списка с наименьшими частотами и функцией, которая удаляет пару с наименьшими частотами из списка. И я не понимаю, как сделать дерево. И когда у меня есть дерево, как начать кодирование? У меня также есть функция, которая объединяет две пары с наименьшими частотами в одну пару, такую ​​как (a.3) (b.5) -> ((ab) .8)Как сделать дерево хаффмана в схеме?

ответ

3

Вы обнаружите очень подробное объяснение Huffman Encoding Trees в разделе 2.3.4 классической книги SICP, доступно онлайн. Там вы найдете описание внутренней работы такого дерева, а также полную реализацию. Вам нужно будет только адаптировать его к интерфейсам/структурам данных, предоставленным для вашего назначения.

+0

Я читал это, но я не понимаю, вот почему я пишу здесь. – user3050163

+0

@ user3050163 Вы использовали примеры кода? вы не найдете более тонкого объяснения деревьев кодирования Хаффмана в Схеме, чем тот, который найден в SICP. Какую часть кода вы точно не поняли? –

+0

Я не понимаю создания трех ... до кодирования. как должны выглядеть три, с какими аргументами и с. – user3050163