アルゴリズムを、はじめよう

内容は非常に優しかった。
個人的には優し過ぎるぐらいだった。

この本は、非エンジニア向けの本なんだろうと思う。
特にそう思ったのは、アルゴリズムの実装する部分での説明だ。

仕様があり、それにそって分岐や繰り返しをしながら実装する
エンジニアなら普段から毎日行なっていることなんだもん。
確かに優しそうだなーとは思っていたけども、これだけ優しいとは思わなかった。

この本の対象者は

  1. 非エンジニアだけどアルゴリズムの勉強を始めようかなと思っている人
  2. いきなり今日からプログラムを書くことになった人
  3. アルゴリズムとは何かをいまいちつかみきれてない人

僕は多分3だったかな。
けど、普段からプログラムを書いているような人は、この本の様な入門の入門書ではなく、普通の入門書で良いんだなってわかった。

この本で紹介されていたのは下記のアルゴリズム

  • 線形探索法(リニアサーチ)
  • 二分探索法(バイナリサーチ)
  • ハッシュ探索法
  • 単純選択法(選択ソート)
  • 単純交換法(バブルソート)
  • 単純挿入法(挿入ソート)
  • クイックソート
  • エラトステネスのふるい
  • ユークリッドの互除法

最後の3つは恥ずかしながら知らなかったなあ。 ユークリッドの互除法については、習った覚えがないんだけど、これは僕が文系だからだろうか。

普段はソートも探索もデータベース側で事足りることが多いし、素数とか最大公約数を使う場面もあまりぱっと思い浮かばないんだけど、こういったアルゴリズムを知るのは単純に刺激的だ。
けど、いざって時に思いつかなさそうなので、実用的とはいえないかも。
んー身近じゃないなあ。

今度はアルゴリズムの入門書にチャレンジしたいかも。
折角だから、定期的にアルゴリズムの勉強をして身近なものにしていきたいね。
難しそうだけど・・・。