2013-06-03 6 views
0

Я начинаю новый проект, архиватор данных, который будет использовать Huffman coding.сжатие текстовых данных с использованием кодировки Хаффмана

Какая структура лучше использовать при реализации такого алгоритма?

Мой подход заключается в создании простого связанного списка, который будет содержать бинарные деревья в каждом узле. Чтобы построить дерево Хаффмана.

Есть ли лучший способ?

+1

Структура для чего? –

+0

Связанный список в сочетании с бинарными деревьями может быть излишним для кодека Хаффмана. Вы не очень много рассказали о том, чего хотите достичь с помощью этого проекта. Но дерево Хаффмана обычно может быть просто представлено с использованием статического массива, который содержит в два раза больше места, чем есть возможные элементы. Например, если вы кодируете 8-битные байты, так как имеется 256 возможных элементов, дерево Хаффмана может быть массивом из 512 элементов. Есть даже лучшие подходы, чем это. –

ответ

0

Если вы говорите о генерации кода Хаффмана из частот символов (ваш вопрос не ясен), структура данных может быть неявной в хранилище дерева. Фактически, расчет может быть сделан на месте по частотам. См. In-Place Calculation of Minimum-Redundancy Codes.

Смежные вопросы