ハフマン符号の実装方法

ハフマン符号というのはあくまでモデルのようなものであって、実装は対象とするデータやら表現形式やら実装者の趣味やらで大きく変わることになる。

たとえば、0~255をとるデータを対象に符号化を行い、それをファイル上に表現する場合
オーソドックスに符号長1byte、符号長ビットだけ続く符合データが256個並ぶ形になるかもしれないし、
出現数0のデータを省けるように、0~255のデータ本体用に1byteさらにつける場合もあるだろう、
オメガ符号などを用いた動的整数表現を符号長表現に使う人もいるかもしれない。

どれも用途次第であるし、中には対した差がないので完全に趣味で選ばれるものもある。
つまり、ハフマン符号一つとっても実装は千差万別であり、どれもこれも同じ用に表現されてはいないということだ。

要するに、bzip2のハフマン木の復元方法わからなくて悩んでるってだけです、はい。

2chのrss

2ch系掲示板のatom生成CGIなんてものを作りました。
普通のrssとは違い、スレストップがかかってようやくentryに追加されます。
もちろん次スレ追尾機能付属、2chといいつつ2chで見るものがないので未対応。
対応掲示板はしたらばとワイワイ。

動機は、それなりに速度があって週1ぐらいで次スレにいくようなスレッドをrssで管理したくなったため。
1レスごとにentryが増えていくものではリーダーに未読が山と溜まるか、リーダーに張り付いていなきゃいけなくなるので却下。
別にリアルタイムで読みたいほどではないため、スレストかかるごとにまとめ読みするぐらいがちょうど良いかなと。

これで手動で巡回せざるを得なかったスレッド系も全てrssリーダーに押し込めたので、だいぶ余暇が増えるはず。
一旦わき道にそれちゃうと長いからね、わき道にそれないようにする努力は100投資してもまだ見返りのほうが多いさ!

5:30追記
調子にのってpixivも追加してみた。