1

特定の .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;
};

どこに進むべきか正確にはわかりません。どんな助けでも大歓迎です!

4

1 に答える 1