『アルゴリズムイントロダクション』
https://gyazo.com/22672505edf48098f1644237b4cb1d45
I 基礎
1 計算におけるアルゴリズムの役割
1.1 アルゴリズム
1.2 技術としてのアルゴリズム
2 さあ,始めよう
2.1 挿入ソート
2.2 アルゴリズムの解析
2.3 アルゴリズムの設計
3 実行時間の特徴づけ
3.1 O記法, Ω記法, Θ記法
3.2 漸近記法:厳密な定義
3.3 標準的な記法とよく使われる関数
4 分割統治
4.1 正方行列乘算
4.2 行列乗算のための Strassen のアルゴリズム
4.3 漸化式を解くための置換え法
4.4 漸化式を解くための再帰木法
4.5 漸化式を解くためのマスター法
4.6 連続マスター定理の証明
4.7 Akra-Bazzi 漸化式
5 確率的解析と乱択アルゴリズム
5.1 雇用問題
5.2 指標確率変数
5.3 乱択アルゴリズム
II ソートと順序統計量
6 ヒープソート
6.1 ヒープ
6.2 ヒープ条件の維持
6.3 ヒープの構築
6.4 ヒープソートアルゴリズム
6.5 優先度つきキュー
7 クイックソート
7.1 クイックソートの記述
7.2 クイックソートの性能
7.3 乱択版クイックソート
7.4 クイックソートの解析
8 線形時間ソーティング
8.1 ソーティングの下界
8.2 計数ソート
8.3 基数ソート
8.4 バケツソート
9 中央値と順序統計量
9.1 中央値と順序統計量
9.2 最大値と最小値
9.3 線形期待時間選択アルゴリズム
9.4 線形最悪時間選択アルゴリズム
III データ構造
10 基礎的なデータ構造
10.1 配列に基づく単純なデータ構造: 配列, 行列, スタック, キュー
10.2 連結リスト
10.3 根つき木の表現
11 ハッシュ表
11.1 直接アドレス表
11.2 ハッシュ表
11.3 ハッシュ関数
11.4 オープンアドレス法
11.5 実用における考察
12 2分探索木
12.1 2分探索木とは?
12.2 2分探索木に対するクエリー
12.3 挿入と削除
13 2色木
13.1 2色木の性質
13.2 回転
13.3 挿入
13.4 削除
IV 高度な設計と解析の手法
14 動的計画法
14.1 ロッド切出し
14.2 連鎖行列乘算
14.3 動的計画法の基本要素
14.4 最長共通部分列,
14.5 最適2分探索木
15 貪欲アルゴリズム
15.1 活動選択問題
15.2 貪欲戦略の要素
15.3 ハフマン符号
15.4 オフラインキャッシュ
16 ならし解析
16.1 集計法
16.2 出納法
16.3 ポテンシャル法
16.4 動的な表
V 高度なデータ構造
17 データ構造の補強
17.1 動的順序統計量
17.2 データ構造の補強法
17.3 区間木
18 B木
18.1 B木の定義
18.2 B木上の基本操作
18.3 B木からのキーの削除
19 互いに素な集合族のためのデータ構造
19.1 互いに素な集合族の操作
19.2 連結リストによる互いに素な集合族の表現
19.3 互いに素な集合の森
19.4 経路圧縮を用いるランクによる合併の解析
VI グラフアルゴリズム
20 基本的なグラフアルゴリズム
20.1 グラフの表現
20.2 幅優先探索
20.3 深さ優先探索
20.4 トボロジカルソート
20.5 強連結成分
21 最小全域木
21.1 最小全城木の成長
21.2 Kruskal と Prim のアルゴリズム
22 単一始点最短路
22.1 Bellman-Ford のアルゴリズム
22.2 有向非巡回グラフにおける単一始点最短路
22.3 Dijkstra のアルゴリズム
22.4 差分制約と最短路
22.5 最短路の性質の証明
23 全点対最短路
23.1 最短路と行列乗算
23.2 Floyd-Warshall アルゴリズム
23.3 疎グラフに対するJohnson のアルゴリズム
24 最大フロー
24.1 フローネットワーク
24.2 Ford-Fulkerson 法
24.3 2部グラフの最大マッチング
25 2部グラフでのマッチング
25.1 2部グラフの最大マッチング(再掲)
25.2 安定結婚間題
25.3 割当て問題に対するハンガリアンアルゴリズム
VII 精選トピックス
26 並列アルゴリズム
26.1 fork-join 並列処理の基礎
26.2 行列乗算のための並列アルゴリズム
26.3 マージソートの並列化
27 オンラインアルゴリズム
27.1 エレベーターの待機
27.2 探索リストの管理
27.3 オンラインキャッシュ
28 行列演算
連立線形方程式の解法
逆行列の計算
対称正定値行列と最小2乗近似
29 線形計画法
線形計画法の定式化とアルゴリズム
線形計画としての問題の定式化
双対性
30 多項式とFFT
多項式の表現
DFT & FFT
FFT 回路
31 整数論的アルゴリズム
整数論の基礎的な概念
最大公約数
利余演算
1次合同式の解法
中国人剩余定理
要素のベキ
RSA 公開鍵暗号システム
素数判定
32 文字列照合
素朴な文字列照合アルゴリズム
Rabin-Karp アルゴリズム
有限オートマトンを用いる文字列照合
Knuth-Morris-Pratt アルゴリズム
接尾語配列
33 機械学習のアルゴリズム
クラスタリング
乗算型荷重更新アルゴリズム
勾配降下法
34 NP完全性
多項式時間
多項式時間検証
NP完全性と帰着可能性
NP完全性の証明
NP完全間題
35 近似アルゴリズム
頂点被覆問題
巡回セールスパーソン問題
集合被覆問題
乱択化と線形計画法
部分和問題
付録:数学的基礎
A 和
和の公式と性質
和の上界と下界
B 集合など
集合
関係
関数
グラフ
木
C 数え上げと確率
数え上げと確率
数え上げ
確率
離散確率変数
幾何分布と2項分布
2項分布の据
D 行列
行列と行列演算
行列の基本的な性質