科学20182325人民元号ソース「オブジェクト指向プログラミングとデータ構造」ハフマン符号化の実践

科学20182325人民元号ソース「オブジェクト指向プログラミングとデータ構造」ハフマン符号化の実践

(1)は、英語のファイルの26の文字が(など、または句読点を含めることはできません)が含まれ、各キャラクターの統計の確率を準備します

  • 英語の文書は、予め用意しました
  • 書込みストリーム・ファイル読み取り
  • 表示される文字の数を格納するための配列を作成します。インクリメントに登場。代わりに確率の数を使用します。

(2)ハフマンを構成

  • リストを確立 ノード=新しいArrayListを ();
  • 26の文字データとして格納された文字の数を持ちます。

  • ソート文字の数、配列、及び新たなノード配列の合成から取り外した2最も小さいです。
  • ルートノードと最後のノードの配列。

(3)英語の文書エンコードされたファイル、コーディングの出力

  • 「1」コーディング右サブツリーに左側のサブツリーコーディングアドオン「0」に、ハフマン木をトラバース

  • 成功はリーフノードを符号化します。

  • 新しいファイルを作成し、「01」の文字フロー決意によって文字で、コードの後。

(4)復号化されたファイルを出力し、エンコードされたファイルを復号化します

  • キューの方法は、各要素は、対応する配列が存在するか否か、決意に加えます。文字出力がある場合。
  • 新しいファイルを作成します。

おすすめ

転載: www.cnblogs.com/y775060632/p/11914097.html