Pythonによるアルゴリズム入門どう考えれば、よいプログラムを作れるのかの解 データサイエンス時代の今、 ※プログラム開発やデータサイエンスを視野に、 ※ このような方におすすめ Pythonプログラマー 主要目次 第1章 アルゴリズムをはじめる前に 第2章 準備 第3章 データ構造 第4章 ソートアルゴリズム 第5章 探索アルゴリズム 第6章 木構造 第7章 グラフアルゴリズム 第8章 その他の有用なアルゴリズム |
レビュー - レビューを書く
レビューが見つかりませんでした。
目次
63 二分探索木 | 134 |
631 二分探索木を実現するプログラムの概要 | 135 |
632 二分探索木の実装例 | 141 |
64 ヒープheap | 156 |
641 ヒープが活躍する場面 | 157 |
643 ヒープの実装例 | 170 |
第7章グラフアルゴリズム | 187 |
71 グラフの用途 | 188 |
10 | |
12 | |
14 | |
15 | |
17 | |
18 | |
19 | |
21 | |
23 | |
32 連結リスト | 28 |
322 連結リストに対する操作エンキューとデキュー | 30 |
323 双方向連結リストの実装 | 31 |
33 キュー先入れ先出しの性質を持つ待ち行列 | 43 |
333 配列を用いたキュー | 45 |
334 連結リストを用いたキューの実装 | 52 |
335 双方向連結リストのソースコードを再利用したキューの実装 | 56 |
34 スタック | 58 |
342 スタックに対する操作 | 60 |
344 連結リストを用いたスタック | 66 |
35 各データ構造の計算量 | 70 |
第4章ソートアルゴリズム | 71 |
41 ソートアルゴリズムの概要 | 72 |
42 挿入ソート | 73 |
422 挿入ソートの実装 | 75 |
423 挿入ソートの特徴 | 79 |
432 バブルソートの実装 | 81 |
433 バブルソートの特徴 | 83 |
442 マージソートの実装 | 88 |
443 マージソートの特徴 | 93 |
452 クイックソートの性質 | 103 |
第5章探索アルゴリズム | 107 |
51 線形探索 | 108 |
52 二分探索 | 110 |
522 配列の二分探索の実装例 | 111 |
53 ハッシュ探索 | 115 |
532 ハッシュ表ハッシュ探索の準備のために | 117 |
533 チェイン法を用いたハッシュ探索の実装例 | 121 |
第6章木構造 | 131 |
61 木構造の用途 | 132 |
62 木構造の基本 | 133 |
72 グラフ構造の基本 | 190 |
73 隣接行列を用いたグラフの表現 | 191 |
732 隣接行列を用いた有向グラフ | 194 |
74 クラスを用いた無向グラフの表現 | 197 |
741 クラスを用いた無向グラフの実装例 | 199 |
75 幅優先探索 | 201 |
752 幅優先探索の概要 | 202 |
753 幅優先探索の実装例 | 205 |
76 深さ優先探索 | 217 |
762 深さ優先探索の実装例 | 220 |
77 ダイクストラ法 | 234 |
772 ダイクストラ法の概要 | 235 |
773 ダイクストラ法の実装例 | 242 |
774 ダイクストラ法の計算量 | 253 |
第8章その他の有用なアルゴリズム | 255 |
81 ユークリッドの互除法 | 256 |
813 ユークリッドの互除法の実装例 | 257 |
82 文字列探索 | 259 |
821 力まかせ法 | 260 |
822 BM法効率的な探索 | 264 |
823 実測値の比較 | 271 |
83 Aアルゴリズム | 273 |
832 Aアルゴリズムの原理 | 274 |
833 Aアルゴリズムの実装例 | 279 |
834 Aプログラムの実行 | 288 |
84 動的計画法 | 289 |
842 動的計画法の原理 | 291 |
843 動的計画法を用いたナップサック問題の実装例 | 297 |
844 ナップサック問題プログラムの実行 | 301 |
852 計算幾何学の基本プログラミング | 302 |
853 ギフト包装法による凸包アルゴリズム | 304 |
854 ギフト包装法の実装例 | 308 |
855 ギフト包装法プログラムの実行 | 313 |
857 ギフト包装法プログラムの実行 | 316 |
付録A | 317 |
最後に | 318 |
319 | |
325 | |