1文字(a = 10, b = 11)
ではなく2文字でテキストをエンコードできるハフマンコード(PythonまたはJavaで最適)が必要です(ab = 11, ag = 10)
。それは可能ですか?もしそうなら、どこでそれを見つけることができますか、多分それはインターネットのどこかにあり、私はそれを見つけることができますか?
1333 次
3 に答える
6
ハフマンコードは文字を気にせず、記号を気にします。一般に、アルファベット/その他の単一文字をエンコードするために使用されますが、文字列をエンコードするために非常に簡単に一般化できます。基本的には、既存の実装を使用して、記号を文字ではなく文字列にすることができます。リーフノードは、文字列のリストに対応します。
于 2010-05-22T14:40:34.920 に答える
1
Pythonビット配列モジュールで配布されているハフマンエンコーダの例があります。
于 2010-05-22T14:57:28.413 に答える
0
おそらくどこかにコードがあります。しかし、これは構文解析とトークン化の質問のように聞こえます。私が答える最初の質問の1つは、いくつのユニークなペアを扱っているかということです。ハフマン符号化は、少数のトークンで最適に機能します。たとえば、キーボードの101文字。しかし、2つの文字が何でもかまいませんが、現在、最大文字数を大幅に拡大しています。
于 2010-05-22T14:43:03.957 に答える