TIM Labs

yysakiによるエントリー一覧

SICP読書会 2.3.4 - ...

概要

弊社では SICP の勉強会を行っています. 近頃は社外の方にも参加いただいており, 本記事では SICP読書会 2.3.4 - ... の会で解いた問題の解答例を紹介します.

前置き

読書会では 2.3.4 例: Huffman符号化木 の途中から読み進めました.

ここで話題となるHuffman符号とは, 文字列をビット列に変換する仕組みの一つです. 通常のエンコードでは1文字を同じビット数で表す固定長符号を使用するところ, Huffman符号では可変長符号を扱います. 出現頻度の高い文字を短いビット数で, 頻度の低い文字を長いビット数で表すことでデータ量を圧縮することが期待されます.

Huffman符号ではHuffman符号化木と呼ばれる二進木を用いて文字列のエンコードを行います. 今回解いた問題2.69から問題2.72では, このHuffman符号化木の生成方法および文字列のエンコード, デコードがテーマとなっています.

テキスト編集にVimを利用しているのですが、とても奥が深い道具なので一人で使う分には気づかない機能が沢山あります。 日頃職場の先輩方から教わりとても効率的に出来るようになったVimのtipsを、いくつかこの記事にまとめます。 知ってる人は既に使いこなしているものばかりだと思いますが、Vimのそんな便利だけど気付きにくい機能を共有できればと思います。

このアーカイブについて

このページには、yysakiが最近書いたブログ記事が含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。