Cによるアルゴリズムとデータ構造(改訂2版)良いプログラムを書くための必須知識をまとめたテキストであり、 本書は、長年にわたって数多くの優秀なシステムエンジニア、 うまくつくられたプログラムは、 本書は、 今回の改訂においては、多くの読者の声をよく参考にして、 システムエンジニア、 第1章 アルゴリズムとその計算量 1.1 計算とアルゴリズム 1.2 アルゴリズムの例 1.3 計算量の評価 1.4 プログラムの設計をめぐる話題 演習問題 第2章 基本的なデータ構造 2.1 リストとその実現 2.2 スタック,待ち行列など 2.3 グラフ,木と2分木 2.4 集合と辞書 2.4.1 集合 2.4.2 辞書とハッシュ表 2.5 集合族の併合 演習問題 第3章 順序つき集合の処理 3.1 順序の定義と必要な作業 3.2 優先度つき待ち行列,ヒープ 3.3 2分探索木 3.4 平衡探索木 演習問題 第4章 整列のアルゴリズム 4.1 整列アルゴリズム概観 4.2 バブルソート 4.3 バケットソートと基数ソート 4.3.1 バケットソート 4.3.2 基数ソート 4.4 ヒープソート 4.5 クイックソート 4.6 整列アルゴリズムの計算量の下界 4.7 第p要素の選択 4.7.1 QUICKSELECTとSELECT 4.7.2 確率アルゴリズムLAZYSELECT 演習問題 第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 SUBSET-SUM問題 5.3.2 直線上の配達スケジューリング 演習問題 第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 関係データベースの処理 演習問題 付記:Cメモ 演習問題:ヒントと略解 |
Contents
1 | |
5 | |
13 | |
14 | |
14 プログラムの設計をめぐる話題 | 20 |
出典 | 25 |
計算量の恐さ | 26 |
2 基本的なデータ構造 | 29 |
演習問題 | 118 |
ハードウェアアルゴリズム | 120 |
5 アルゴリズムの設計 | 123 |
512 2分探索 | 125 |
513 ニュートン法による零点の計算 | 129 |
52 分割統治法 | 131 |
521 マージソート | 132 |
522 長大数の掛け算 | 134 |
22 スタック待ち行列など | 35 |
23 グラフ木と2分木 | 42 |
24 集合と辞書 | 53 |
242 辞書とハッシュ表 | 55 |
25 集合族の併合 | 63 |
出典 | 69 |
図形の再帰構造フラクタル | 70 |
3 順序つき集合の処理 | 71 |
32 優先度つき待ち行列ヒープ | 72 |
33 2分探索木 | 78 |
34 平衡探索木 | 84 |
出典 | 90 |
アルゴリズムと特許 | 91 |
4 整列のアルゴリズム | 93 |
42 バブルソート | 94 |
43 バケットソートと基数ソート | 96 |
431 バケットソート | 97 |
432 基数ソート | 98 |
44 ヒープソート | 101 |
45 クイックソート | 103 |
46 整列アルゴリズムの計算量の下界 | 109 |
47 第p要素の選択 | 111 |
471 QUICKSELECTとSELECT | 112 |
472 確率アルゴリズムLAZYSELECT | 116 |
出典 | 117 |
523 再帰方程式の漸近解 | 135 |
531 SUBSETSUM問題 | 136 |
532 直線上の配達スケジューリング | 138 |
出典 | 142 |
確率アルゴリズム | 143 |
6 アルゴリズムの実現 | 145 |
612 ナップサック問題 | 152 |
62 グラフに関するいくつかの問題 | 154 |
621 最小木 | 157 |
622 最短路問題 | 163 |
623 深さ優先探索と関節点の計算 | 171 |
63 文字列の照合 | 177 |
64 計算幾何の話題から | 182 |
642 ボロノイ図 | 184 |
65 関係データベースの処理 | 191 |
出典 | 197 |
演習問題 | 198 |
CからC++へ | 200 |
Cメモ | 203 |
ヒントと略解 | 217 |
文献 | 226 |
索引 | 233 |
247 | |