「ほげほげのプログラムが書ける」と言った場合、プログラミング言語そのものを理解しているというよりは、何かやりたいことがあって、それをプログラムとして書き起こせる、ということを意味する場合が多い。プログラミング言語の構文をいかに習得しようとも、プログラムが書けないことは多々ある。 少しでもプログラミング言語を勉強した者ならば実感しているだろうが、プログラミング言語そのものにはわずか数十のkeywordしか出てこない。せいぜい、1時間か2時間勉強すれば覚えられるはずだ。だけど、それだけでプログラムが書けるようになるわけではない。一体、何が足りないのだろうか? これにはいろんな要因があるのだが、まず「データ構造とアルゴリズム」に対する理解が不十分だということが挙げられる。 私はN.ヴィルト先生の『アルゴリズム+データ構造=プログラム』で勉強したが、この本は、いまや入手困難だ。その後、この本をベー