タグ

2008年1月14日のブックマーク (1件)

  • Pythonの技法:Huffman符号化の実装 - builder by ZDNet Japan

    前回の圧縮に関する記事では、Pythonを用いた実行時エンコードの実現方法をお見せした。稿では、もう一つの種類の圧縮方式「Huffman符号化」の実装方法をお見せする。Huffman符号化は、文字列のような小さなアイテム集合を扱う際に便利な圧縮方式だ。 Huffman符号化では多種多様なデータ構造を同時に使用するため、大学のアルゴリズムの講義ではHuffman符号化が非常に好まれている。稿では、Pythonのheapqライブラリを用いて優先順位付きキューを実装するので、もしheapqライブラリになじみがなければ以前の記事を読んで欲しい。 Huffman符号化は、次のような2つのステップで主に構成されている。 元データに含まれているアイテムをすべて含む二分木を作成する。二分木は、リストに含まれているアイテムの中で、もっとも出現回数の少ないアイテム2つを何度も繰り返し組み合わせることによっ

    okagawa
    okagawa 2008/01/14
    PythonによるHuffman符号化の実装例