内容紹介
洗練されたアルゴリズムへの道筋を解説した大学テキスト
アルゴリズムの学習は、大学における情報系学部学科の必修のテーマである。
本書は、さまざまな最適なアルゴリズムについてどのように改善して洗練されたアルゴリズムに到達できたかを説明することにより、アルゴリズムの基礎から標準的な設計技法まで学べる。
このような方におすすめ
情報系大学学部の学生、教員
プログラミングの初級技術者
目次
主要目次
1章 アルゴリズムの重要性
2章 探索問題
3章 基本的なデータ構造
4章 動的探索問題とデータ構造
5章 データの整列
6章 グラフアルゴリズム
7章 文字列のアルゴリズム
8章 アルゴリズム設計手法
9章 近似アルゴリズム
10章 計算複雑さ
参考文献
演習問題へのヒント
詳細目次
1章 アルゴリズムの重要性
1.1 アルゴリズムとは
1.2 アルゴリズムの記述
1.3 アルゴリズムの効率
1.4 アルゴリズムの最適性
演習問題
2章 探索問題
2.1 探索問題とは
2.2 逐次探索の効率
2.3 順序関係を利用した探索
2.4 m-ブロック法
2.5 2分探索法
2.7 ハッシュ法
演習問題
3章 基本的なデータ構造
3.1 配列と連結リスト構造
3.2 連結リスト構造の利点
3.3 2分探索法に対応するデータ
3.4 スタックとキューの概念
3.5 スタックの実現
3.6 キューの実現
3.7 ヒープ
演習問題
4章 動的探索問題とデータ構造
4.1 線形リスト上での探索
4.2 2分探索木
4.3 平衡2分探索木
4.4 動的ハッシュ法
演習問題
5章 データの整列
5.1 バブルソート
5.2 セレクションソート
5.3 インサーションソート
5.4 シェルソート
5.5 ヒープソート
5.6 クイックソート法
5.7 マージソート(Marge Sort)
5.8 ソート問題の計算複雑度
演習問題
6章 グラフアルゴリズム
6.1 グラフの利用
6.2 グラフの表現
6.3 用語の定義
6.4 グラフの探索
6.5 最短経路問題
6.6 ネットワークフロー
演習問題
7章 文字列のアルゴリズム
7.1 文字列照合問題とは
7.2 力まかせ法
7.3 ラビン-カープ法
7.3 クヌース・モリス・プラッツ法
7.4 ボイヤー・ムーア法
演習問題
8章 アルゴリズム設計手法
8.1 再帰
8.2 分割統治法
8.3 動的計画法
8.4 グリーディ法
8.5 分枝限定法
8.6 線形計画法
演習問題
9章 近似アルゴリズム
9.1 近似アルゴリズムとは
9.2 ナップサック問題
9.3 巡回セールスパーソン問題
演習問題
10章 計算複雑さ
10.1 計算可能性
10.2 クラスPとNP
演習問題
参考文献
演習問題へのヒント
続きを見る