特定の .txt ファイルからテキストを読み取る必要がある C++ プログラムがあるとします。プログラムは次のことを行います。
- ファイル内の各文字の出現回数を計算すると、一意の各文字(およびその頻度)が新しいツリーノードとして保存されます
- 次に、プログラムはこれらのノードを含む最小ヒープを構築し、この最小ヒープを使用してハフマン コード ツリーを構築します。
- トラバーサル (事前順および順序順) が出力ファイルに書き込まれます。ツリーの各内部ノードには I:xxx というラベルが付けられます。ここで、xxx は int ラベルであり、葉には L:xxx が付けられます。
- プログラムは最終的に、文字列として格納された各文字のエンコーディング (ASCII ベースであり、真の .bin バージョンではありません) を含むテーブルを作成します。
次のように、各ノードをハフマン クラス内に格納するとします。
struct CharNode {
char value;
int frequency;
bool internal;
int label;
CharNode *parent;
CharNode *left_child;
CharNode *right_child;
};
どこに進むべきか正確にはわかりません。どんな助けでも大歓迎です!