やかんブログ

アルゴリズムとデザインパターンを要領よく学ぶには?

2008年12月26日(金)18:05|mori

こんにちは、森です。 研修のカリキュラムにデザインパターンが8時間分含まれていたこともあり、いい機会なので、今回は僕が昔、アルゴリズムとデザインパターンを学ぶのに使って役に立った本を紹介してみます。

アルゴリズム、デザインパターンの順に、

  1. C言語によるアルゴリズムとデータ構造 柴田 望洋、辻 亮介 (著)
  2. Javaデザインパターン徹底攻略 日立ソフトウェアエンジニアリングインターネットビジネス部 (著)

この2冊が、僕にとってはすごく有益でした。

よく研修などで、「知識を詰め込むよりも論理的思考力を身に付けることが大切」というセリフを聞きます。疑う価値のある内容だとは思いますが、「細かい業務知識以前に、論理的に物事を考えられることは大前提」という考えになら、頷けます。そして、基本的なアルゴリズムとデザインパターンの勉強をすることは、「プログラマにとっての論理的思考力」を身に付ける格好の題材になるんじゃないかなー、と思っています。上記2冊はそのための教材として、十分とは言えないのかもしれませんが、満足のいく内容でした。

まず、(1)に関して。この本の魅力は、話題が読み返す価値のある基礎的なものに絞られている点。具体的には、探索、ソート、再帰です。より実践的なアルゴリズムについて知ろう・考えようとした場合、これらが前提知識としてもとめられるくらいの、基本中の基本です。また、いくつかのデータ構造についての説明も充実しているので、類書より優れているといえると思います(ただし、他の入門書を精読していないので断言はできません)。もちろん、アルゴリズム体操ができるくらいのアルゴリズム愛好家の人でしたら、この本だけでは満足できないかもしれません。

次に(2)に関して。これは端的にまとまっているにもかかわらず、論理的な飛躍が少ない点が良かったです。世間で名著といわれている本で23パターン、というのは、小生には少々長すぎました。また、ネット上で見かける短い解説のいくつかは、既にパターンを知っていることが前提だったり、ほぼ結論のみを言葉を変えて繰り返しているだけだったりで、自分はイマイチ面白みを感じられませんでした。

ここで挙げたものよりも分厚くて評判が良い、名著・定番とされている本はありますよね。だけど、大切なのは細かいことを知るよりも、まずは論理的思考力を身に付けることだったはず。だったら、この程度の軽めの本で良くないでしょうか。ダメでしょうか。いいって言ってください、先輩!

この記事に関するお問い合わせはこちら

ページの先頭へ