アルゴリズム

アルゴリズム論(IT Text)

浅野哲夫
増沢利光
和田幸一
オーム社

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
  • 演習問題

参考文献
演習問題へのヒント