Cによるアルゴリズムとデータ構造
昭晃堂
※画像はオーム社からの再販版。
著者:茨木俊秀
まえがき
1 アルゴリズムとその計算量
1.1 計算とアルゴリズム
1.2 アルゴリズムの例
ひとやすみ:アルゴリズムの起源
1.3 計算量の評価
1.4 プログラムの設計をめぐる話題
1.5 出典
演習問題
ひとやすみ:計算量の恐さ
2 基本的なデータ構造
2.1 リストとその実現
2.2 スタック,待ち行列など
2.3 グラフ,木と2分木
2.4 集合と辞書
2.4.1 集合
2.4.2 辞書とハッシュ表
2.5 集合族の併合
2.6 出典
演習問題
ひとやすみ:図形の再帰構造ーフラクタル
3 順序つき集合の処理
3.1 優先度つき待ち行列,ヒープ
3.2 2分探索木
3.3 平衡探索木
3.4 出典
演習問題
ひとやすみ:アルゴリズムと特許
4 整列のアルゴリズム
4.1 バブルソート
4.2 バケットソートと基数ソート
4.2.1 バケットソート
4.2.2 基数ソート
4.3 ヒープソート
4.4 クイックソート
4.5 整列アルゴリズムの計算量の下界
4.6 第p要素の選択
4.6.1 QUICKSELECTとSELECT
4.6.2 確率アルゴリズムLAZYSELECT
4.7 出典
演習問題
ひとやすみ:ハードウェア・アルゴリズム
5 アルゴリズムの設計
5.1 整列データの処理
5.1.1 整列配列の併合
5.1.2 2分探索
5.1.3 ニュートン法による零点の計算
5.2 分割統治法
5.2.1 マージソート
5.2.2 長大数の掛け算
5.2.3 再帰方程式の漸近解
5.3 動的計画法
5.3.1 SUBEST-SUM 問題
5.3.2 直線上の配達スケジューリング
5.4 出典
演習問題
ひとやすみ:確率アルゴリズム
6 アルゴリズムの実現
6.1 簡単な最適化問題
6.1.1 資源配分問題
6.1.2 ナップサック問題
6.2 グラフに関するいくつかの問題
6.2.1 最小木
6.2.2 最短路問題
6.2.3 深さ優先探索と関節点の計算
6.3 文字列の照合
6.4 計算幾何の話題から
6.4.1 初等幾何学の計算
6.4.2 ボロノイ図
6.5 関係データベースの処理
6.6 出典
演習問題
ひとやすみ:CからC++へ
付記:Cメモ
演習問題:ヒントと略解
文献
索引