huffman-code

    0

    1答えて

    ファイルのバイト[]からハフマンツリーを作成して、それを圧縮しようとしています。 BitSequenceを作成するには、バイトのHashMapと、ノードへのパスに相当する対応する文字列値を作成します。手作業で作業するときは、私のプログラムよりもずっと長いBitSequenceの長さを取得しています。ここでバイト値のHashMapを作成し、私のコードは、そのノードのバイトの値がされている。 publ

    -2

    1答えて

    私はハフマンアルゴリズムを書いています。私はファイルヘッダを書き込むときにいくつかのスペアビットが存在するためファイルの長さを保存し、どこで停止するかを知る必要があります。 私は私のファイルの長さを書くとき、この代わりに起こる:それは8つのバイトを書き込みますが、私が読んだとき、それは私が私が例えば追加した場合ので、動作すると確信している6. long totChar; long size;

    0

    1答えて

    私はクラス割り当て用のハフマン圧縮プログラムを作成しています。私はそれを実装する方法を知っているが、デコーダはエンコーダによって格納された変換テーブルを使用するか、最初からハフマンツリーを作成する必要があるので、デコーダが再構築する必要がないように、それ。ポインタを使って節約することは同じではないので、シリアライゼーションが役立つかもしれないことがわかった。私の主な質問は次のとおりです: 1-シリ

    3

    1答えて

    私はHuffmanTreeを構築するのに役立つ何かを見つけるためにウェブをブラウズしていましたが、このコードを見つけたのはhttp://rosettacode.org/wiki/Huffman_coding#Javaです。 私はJavaを使い慣れていないし、これを私のレベルよりも上手く使うことができませんでしたが、私はまだそれに興味を持っていました(それは短く、一見有効なコードなので)ほとんどのこ

    4

    1答えて

    ハフマンデコードを実行するアルゴリズムを作成しようとしています。私はScalaでそれをやっています - それはCourseraコースの課題です。私は名誉コードに違反したくないので、以下はScalaではなく擬似コードです。 私が書いたアルゴリズムは、ツリーtreeとビットbitsのリストをとり、メッセージを返すことになっています。しかし、私が提供されたツリーでそれを試してみると、私はNoSuchEl

    -1

    1答えて

    コードはより大きなソリューションの一部です。 prioriQueueに1つの要素しかない場合、lastLeftとlastRightはnullptrです。 どのようにして、このアルゴリズムを1つの要素だけでcorectlyを動作させるように変更するか、それをより良く書くためのヒントを教えてください。 問題は「ここに問題がある」というコメントに沿っています。 std::shared_ptr<Leaf>

    2

    1答えて

    すべての種類のファイル(.jpg、.mp4など)を圧縮できますが、これらの非テキストファイルを解凍しようとすると、プログラムは空の圧縮解除されたファイルを返すだけです...奇妙な部分は、私はプレーンテキストのファイルを解凍することができます。 元のファイルを圧縮すると、ツリーを再構成するために必要なデータとエンコードされたビットが同じファイルに格納されます。フォーマットは次のようなものになります。

    0

    1答えて

    たとえば、LZMアルゴリズムの例はLZMAでもかまいませんが、私が見つけることができないハフマンの例です。私はBWTがある程度それを使用していることを理解していますが、別のタイプのアルゴリズムも使用しています。

    0

    1答えて

    次の正準ハフマン符号表があるとします。 Symbol Code-length Codeword A 2 00 B 2 01 C 2 10 D 2 11 ここで、入力ファイルからシンボルを読み取り、上の表を参照してそれをエンコードします。しかし、標準的なハフマンの場合、コードワードを送信すべきではないと多くのリソースが言います。代わりに、各シンボルのコード

    0

    1答えて

    ハフマンコードがprefix codeの場合、JPEGのDC係数とAC係数が[長さ] [ビット]のペアとしてエンコードされるのはなぜですか?なぜ、長さ接頭辞が必要なのですか? なぜ私たちは値の長さを符号化し、値自体を符号化しないのですか(私が間違っていれば私を修正します)?