本書は、2つの方法で読者にアルゴリズムとデータ構造を学ばせようとしている。1つは、良くあるアルゴリズムとデータ構造のみの解説
2つめは、Java言語による実装を基準としたデータ構造とアルゴリズムの解説
文書による解説である程度理解できたところで、実装の面から更なる知識をインプットする。これが本書の特徴です。
特徴
本書は、2つの面からアルゴリズムとデータ構造を学べる。文書による解説と実際のソースコードによる解説だ。実際、よく配慮されていると思う。アルゴリズムやデータ構造の解説書というのは、得てして小難しく書いてある。そんな中、絵を多用しわかりやすい解説と丁寧なソースコードによる本書のアプローチを、僕は非常に評価したい。
本書で扱うデータ構造
- 配列
- スタック
- 待ち行列(キュー)
- 連結リスト
- 探索二分木
- ハッシュテーブル
本書で扱うアルゴリズム
- 再帰
- 整列(バブルソート/クイックソート)
- 配列における削除/挿入/検索
- スタックにおける削除/挿入
- 連結リストにおける削除/挿入/検索
- 探索二分木における削除/挿入/検索
Javaによる実装を扱っているので、Javaコレクションフレームワークの解説も少し入っている。本書で扱うJavaの実装は、コレクションフレームワークのほぼすべての実装になる。
初めてプログラミングをはじめた人でJava言語を選択した人は、本書を必ず買うべし!はっきり言って、基本的なデータ構造とアルゴリズムの本は、本書だけで十分です。おすすめです。
参考
+基本的なことがまとめられています。結構見やすいです。
+ソートに関するアルゴリズムがまとめられています。
+本書以外にも手を出したいなら、これもおすすめです。
+アルゴリズムのバイブルです。