1 アルゴリズムとは
1.1 アルゴリズムって何?
1.2 はじめに―準備
1.3 計算モデル―アルゴリズムの抽象モデル
1.4 アルゴリズムの効率評価とオーダー
1.5 ティー・ブレイク【数学者 A.チューリング】
演習問題
2 データ構造
2.1 データ型とデータ構造
2.2 基本的なデータ構造
2.3 抽象データ型
2.4 ティー・ブレイク【スタックとキューの計算能力】
演習問題
3 整列(ソーティング)
3.1 優先度付き待ち行列
3.2 2分探索木
3.3 整列アルゴリズムのいろいろ
3.4 計算量のまとめ
3.5 ティー・ブレイク【ハノイの塔と再帰的手続き】
演習問題
4 文字列処理とグラフ検索
4.1 文字列処理アルゴリズム
4.2 グラフアルゴリズム
4.3 ティー・ブレイク【DNAとグラフ探索問題】
演習問題
5 アルゴリズムの設計スキーマ
5.1 腕ずくスキーマ
5.2 分割統治スキーマ
5.3 動的計画スキーマ
5.4 分枝限定スキーマ
5.5 ティー・ブレイク【チューリング賞って?】
演習問題
6 計算理論の基礎
6.1 計算可能性
6.2 決定不可能な問題
6.3 計算の複雑さの理論
6.4 領域に関するクラスP-SPACEとNP-SPACE
6.5 ティー・ブレイク【近似アルゴリズムのいろいろ】
演習問題
演習問題解答(例)
参考文献
索引
1.1 アルゴリズムって何?
1.2 はじめに―準備
1.3 計算モデル―アルゴリズムの抽象モデル
1.4 アルゴリズムの効率評価とオーダー
1.5 ティー・ブレイク【数学者 A.チューリング】
演習問題
2 データ構造
2.1 データ型とデータ構造
2.2 基本的なデータ構造
2.3 抽象データ型
2.4 ティー・ブレイク【スタックとキューの計算能力】
演習問題
3 整列(ソーティング)
3.1 優先度付き待ち行列
3.2 2分探索木
3.3 整列アルゴリズムのいろいろ
3.4 計算量のまとめ
3.5 ティー・ブレイク【ハノイの塔と再帰的手続き】
演習問題
4 文字列処理とグラフ検索
4.1 文字列処理アルゴリズム
4.2 グラフアルゴリズム
4.3 ティー・ブレイク【DNAとグラフ探索問題】
演習問題
5 アルゴリズムの設計スキーマ
5.1 腕ずくスキーマ
5.2 分割統治スキーマ
5.3 動的計画スキーマ
5.4 分枝限定スキーマ
5.5 ティー・ブレイク【チューリング賞って?】
演習問題
6 計算理論の基礎
6.1 計算可能性
6.2 決定不可能な問題
6.3 計算の複雑さの理論
6.4 領域に関するクラスP-SPACEとNP-SPACE
6.5 ティー・ブレイク【近似アルゴリズムのいろいろ】
演習問題
演習問題解答(例)
参考文献
索引