Скажем, у вас есть программа на С ++, которая должна читать текст из заданного .txt-файла. Программа будет:Создать дерево кода Хаффмана из min-heap C++
- вычислить число появлений каждого полукокса в файле, то каждый уникального полукокс (и его частоту) будет сохранена в качестве нового узла дерева
- Затем программа строит мин-кучу, содержащую эти узлы, то Дерево кодов Хаффмана строится с использованием этой мини-кучи.
- Переходы (предварительный заказ и порядок) будут записаны в выходной файл. Каждый внутренний узел дерева будет иметь метку I: xxx, где xxx - это метка int, а листья имеют L: xxx
- Программа, наконец, создает таблицу, содержащую кодировку (на основе ASCII, а не true .bin version) каждого символ хранится в виде строки
Я полагаю, я бы хранить каждый узел в пределах HUFFMAN класса, как это:
struct CharNode {
char value;
int frequency;
bool internal;
int label;
CharNode *parent;
CharNode *left_child;
CharNode *right_child;
};
Я точно не знаю, куда двигаться. Любая помощь приветствуется!
Первый шаг читается из .txt-файла. Удачи. –