アルゴリズムを学ぶのに最適な教科書

アルゴリズムの理解に関して多少の疑問を抱いていたので、この前、本屋でアルゴリズム関連の本を見てきた。最近はゲームプログラミング関連の本が充実してきた*1のと同じようにアルゴリズム関連の本もかなり充実していた。
その中でこの本を読んでいればもっと速く理解が深まったはずだ!と私が太鼓判を押す本を忘れないうちにアフィってみたいと思う。

ちなみに、私がアルゴリズムを学ぶのに使った本は
http://www.amazon.co.jp/exec/obidos/ASIN/4874084141/studiokingyo-22
http://www.amazon.co.jp/exec/obidos/ASIN/4774112046/studiokingyo-22
の二冊である。非常に少ない・・・というのはおいといて・・・
とにかくC言語による最新アルゴリズム事典に載っている沢山のアルゴリズムかなり助けられたので 
アルゴリズムの学習はコレくらいで十分かな?必要に応じてインターネット上で拾っていけばいいし・・・」
と高をくくっていた部分があったことは否定できない。
確かに、アルゴリズムの学習を怠っていたので自分でAVL木や赤黒木を組むことが出来ない。
もちろん普通のソフトウェアを作る上で不必要かと思われる動的計画法やその他、純粋数学に近い概念の学習もおざなりであった。
また、ハッシュ法も概要だけしか知らなかったのでどのようにしてハッシュの衝突問題を解決するかという方法も数種しか知らなかった。
しかしながら、前述で紹介した太鼓判を押す本にはその方法を沢山紹介してあったので「なるほど」と感じ入ってしまった。
やはり世の中沢山アルゴリズムが存在するようでそれらを全部理解することは不可能ではないか?と思ったりもするのだが、アルゴリズムの存在と実装の仕方、どのような局面で使用すると効果的かくらいは頭に入れておきたいと思っている。
だが、自分で作ったモジュールにバグが無いかどうかをチェックするにはアルゴリズムへの深い理解が必要だと考えると時間の兼ね合いに関して 痛し痒し といった感じはぬぐいきれない

*1:http://d.hatena.ne.jp/studiokingyo/20060206#p2

*2:詳しい説明の書いている本は読みにくい本であることが多い