Pythonによるアルゴリズム入門

前表紙
株式会社 オーム社, 2020/09/08 - 336 ページ

どう考えれば、よいプログラムを作れるのかの解

データサイエンス時代の今、データ構造とアルゴリズムのセオリーを身に付けるのはデータ処理を行う多数のエンジニアにとって大切なことです。本書は、データ構造とアルゴリズムの普遍的な基礎を、Pythonによるプログラミングの実践を通して丁寧に解説するものです。

※プログラム開発やデータサイエンスを視野に、主要なアルゴリズムを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

21 macOSでPython環境の構築
10
22 Windows10でPython 環境の構築
12
23 動作確認
14
24 開発環境
15
第3章データ構造
17
31 配列内データの動きの基本
18
311 配列に対する操作
19
312 Pythonの標準ライブラリのリストで配列
21
313 arrayモジュールの配列を利用したinsert機能delete機能の実装
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
著作権

著者について (2020)

酒井 和哉(さかい かずや)

東京都公立大学法人 東京都立大学・准教授。米国オハイオ州立大学からPh.D. を取得。2014 年より東京都立大学(当時の名称は首都大学東京)で教鞭を執る。現在の役職は准教授。ネットワークセキュリティを専門とする。厳しさ7 割、放置3 割といった指導方針で学生に接する。自分では自覚がないが、周りからは「ドライで見放すのが早い」と注意されている。アメリカ滞在時のあだ名は“ブラック・サカイ”。IEEE Computer Society Japan Chapter Young Author Award 2016 を受賞。

著書:『コンピュータハイジャッキング』、『Rust プログラミング入門』(以上オーム社)

書誌情報