この本の一番の長所は、動的計画法の理解と、動的計画法の応用への理解です。
動的計画法はこれまで2重for文を用いた基礎的なアルゴリズムに慣れてきた初心者にとって、全く新しい概念となります。感覚をつかむのにちょっと苦労する場合があるかもしれません。 そんな動的計画法が苦手な人に順序立てて、教えようとしています。 いきなり動的計画法の解説するのではなくて、手始めに、もっと簡単な、累積和とかいう考え方から私たちに教えてくれます。段階を踏んでアルゴリズムに強くなりましょう。 この本とは異なる、他社のアルゴリズムの本では、C++を用いて、更に、mallocを用いてて、更に関数ポインタも用いて、様々なアルゴリズムを解説していました。 しかしそのやり方だと、ポインタが苦手な人には難解です。書いてあることは正しいんだろうけど・・・。 それと比較して、この本はアルゴリズムそのものを ポインタが分かってない人にも理解できるように書いてくれている。あらかじめ配列の要素数を多めに設定していますので、メモリ領域の管理の知識と技能は不要です。 この本の対象読者 ・自分専用のパソコンを持っている ←大事。 ・CまたはC++の入門書を読んで、ただ読むだけでなく、真似て、自分なりに組んで、コンパイルして動かしてきた方 ・2重for文のアルゴリズムを用いた、バブルソートなどのアルゴリズムなら理解している。 ・2重for文や3重for文を用いて全パターンの検査をする方法だと、特定の問題では処理にクッソ時間がかかるのに気が付いた方。どうしたらいいのか分からん人へ。 ・ナップザック問題って何?・・・ってな人へ。 ・ダイクストラ法の理解に苦しんだ人へ。 この本を読むのに以下の知識は予備知識として必須ではない ・ポインタの理解 ・オブジェクト指向 そのほか ぜひ紙の本を買いましょう。余白が広いので、気が付いたことをガンガン書き込みましょう。電子書籍ではなくて紙の本が良いです。 |