情報
Pythonで体験してわかるアルゴリズムとデータ構造
Pythonでアルゴリズム!
15の課題でアルゴリズムとデータ構造を学ぶ。各章の前半で具体的な事例から原理を理解する。確実に身につけるために各章に練習問題とその解答を配置。また後半ではPythonを使ってアルゴリズムのプログラムを組み、実際にどのように動くかを体験できる。
原理部分の理解と、プログラミング部分が分かれているので、原理が理解出来ていないのか、プログラムが理解出来ていないのかが、明確に区別できる。
Pythonを使用しているので初学者にも最適の書である。
※本書の講義資料は、ページ下のサポートから入手できます。
電子書籍¥2,640 小売希望価格(税込)
紙の書籍¥2,640定価(税込)
基本情報
発売日 | 2018年6月30日 |
---|---|
本体価格 | 2,400円 |
ページ数 | 208 ページ ※印刷物 |
サイズ | B5 |
ISBN | 9784764905702 |
ジャンル | 情報 |
タグ | 講義資料あり, アルゴリズム, Python, 教科書 |
電子書籍形式 | 固定型 |
主要目次
第1章 なぜアルゴリズムが重要か
1.1 アルゴリズムとは
1.2 アルゴリズムを学ぶことがなぜ重要か
1.3 データ構造とは、データ構造がなぜ重要か
1.4 次章以降の構成
1.5 練習問題
1.6 1章のまとめ
1.7 Python 演習
1.8 練習問題正解例
第2章 アルゴリズムを表現する様々な方法
2.1 言葉による表現
2.2 図による表現
2.3 フローチャートによる表現
2.4 擬似コードによる表現
2.5 アルゴリズムの正しさの保証
2.6 練習問題
2.7 2章のまとめ
2.8 Python 演習
2.9 練習問題正解例
第3章 アルゴリズムを比べる方法
3.1 整列 (ソート) とは
3.2 選択ソートとは
3.3 選択ソートの随時交換版とは
3.4 練習問題
3.5 3章のまとめ
3.6 Python 演習
3.7 練習問題正解例
第4章 アルゴリズムを思いつく方法
4.1 挿入ソート
4.2 バケットソート
4.3 練習問題
4.4 4章のまとめ
4.5 Python 演習
4.6 練習問題正解例
第5章 アルゴリズムを改良するコツ
5.1 バブルソート
5.2 バブルソートの改良版
5.3 練習問題
5.4 5章のまとめ
5.5 Python 演習
5.6 練習問題正解例
第6章 アルゴリズムを設計する方法
6.1 フィボナッチ数列
6.2 分割統治法
6.3 動的計画法
6.4 練習問題
6.5 6章のまとめ
6.6 Python 演習
6.7 練習問題正解例
第7章 問題に適した設計法とは
7.1 ハノイの塔問題
7.2 最短経路の数え上げ問題
7.3 練習問題
7.4 7章のまとめ
7.5 Python 演習
7.6 練習問題正解例
第8章 設計法を応用した並べ替え
8.1 マージソート
8.2 マージソートにおける比較回数
8.3 これまでのソートとマージソートの計算量の違い
8.4 練習問題
8.5 8章のまとめ
8.6 Python 演習
8.7 練習問題正解例
第9章 分割統治法によるソートの分類
9.1 クイックソート
9.2 クイックソートにおける比較回数
9.3 選択ソート、挿入ソート、バブルソートと分割統治法
9.4 練習問題
9.5 9章のまとめ
9.6 Python 演習
9.7 練習問題正解例
第10章 データ構造はなぜ重要か
10.1 2分探索木
10.2 2分探索木に対する節点の挿入と削除
10.3 練習問題
10.4 10章のまとめ
10.5 Python 演習
10.6 練習問題正解例
第11章 データ構造に依存したアルゴリズム
11.1 スタック
11.2 キュー
11.3 深さ優先探索と幅優先探索
11.4 練習問題
11.5 11章のまとめ
11.6 Python 演習
11.7 練習問題正解例
第12章 データ構造を応用した並べ替え
12.1 ヒープ
12.2 ヒープソート
12.3 練習問題
12.4 12章のまとめ
12.5 Python 演習
12.6 練習問題正解例
第13章 データ構造の変更に応じた改良
13.1 ダイクストラ法
13.2 貪欲法
13.3 練習問題
13.4 13章のまとめ
13.5 Python 演習
13.6 練習問題正解例
第14章 条件に応じた探索の改良
14.1 力まかせ探索とミニマックス法
14.2 枝刈り
14.3 練習問題
14.4 14章のまとめ
14.5 Python 演習
14.6 練習問題正解例
第15章 目的別のアルゴリズムとデータ構造
15.1 分割ナップザック問題
15.2 0-1 ナップザック問題
15.3 練習問題
15.4 15章のまとめ
15.5 Python 演習
15.6 練習問題正解例
付録 Python を使うために!
A.1 導入編
A.2 準備編 (ツール入手など)
A.3 Python スクリプトファイル・インタフェース
参考文献
索引
1.1 アルゴリズムとは
1.2 アルゴリズムを学ぶことがなぜ重要か
1.3 データ構造とは、データ構造がなぜ重要か
1.4 次章以降の構成
1.5 練習問題
1.6 1章のまとめ
1.7 Python 演習
1.8 練習問題正解例
第2章 アルゴリズムを表現する様々な方法
2.1 言葉による表現
2.2 図による表現
2.3 フローチャートによる表現
2.4 擬似コードによる表現
2.5 アルゴリズムの正しさの保証
2.6 練習問題
2.7 2章のまとめ
2.8 Python 演習
2.9 練習問題正解例
第3章 アルゴリズムを比べる方法
3.1 整列 (ソート) とは
3.2 選択ソートとは
3.3 選択ソートの随時交換版とは
3.4 練習問題
3.5 3章のまとめ
3.6 Python 演習
3.7 練習問題正解例
第4章 アルゴリズムを思いつく方法
4.1 挿入ソート
4.2 バケットソート
4.3 練習問題
4.4 4章のまとめ
4.5 Python 演習
4.6 練習問題正解例
第5章 アルゴリズムを改良するコツ
5.1 バブルソート
5.2 バブルソートの改良版
5.3 練習問題
5.4 5章のまとめ
5.5 Python 演習
5.6 練習問題正解例
第6章 アルゴリズムを設計する方法
6.1 フィボナッチ数列
6.2 分割統治法
6.3 動的計画法
6.4 練習問題
6.5 6章のまとめ
6.6 Python 演習
6.7 練習問題正解例
第7章 問題に適した設計法とは
7.1 ハノイの塔問題
7.2 最短経路の数え上げ問題
7.3 練習問題
7.4 7章のまとめ
7.5 Python 演習
7.6 練習問題正解例
第8章 設計法を応用した並べ替え
8.1 マージソート
8.2 マージソートにおける比較回数
8.3 これまでのソートとマージソートの計算量の違い
8.4 練習問題
8.5 8章のまとめ
8.6 Python 演習
8.7 練習問題正解例
第9章 分割統治法によるソートの分類
9.1 クイックソート
9.2 クイックソートにおける比較回数
9.3 選択ソート、挿入ソート、バブルソートと分割統治法
9.4 練習問題
9.5 9章のまとめ
9.6 Python 演習
9.7 練習問題正解例
第10章 データ構造はなぜ重要か
10.1 2分探索木
10.2 2分探索木に対する節点の挿入と削除
10.3 練習問題
10.4 10章のまとめ
10.5 Python 演習
10.6 練習問題正解例
第11章 データ構造に依存したアルゴリズム
11.1 スタック
11.2 キュー
11.3 深さ優先探索と幅優先探索
11.4 練習問題
11.5 11章のまとめ
11.6 Python 演習
11.7 練習問題正解例
第12章 データ構造を応用した並べ替え
12.1 ヒープ
12.2 ヒープソート
12.3 練習問題
12.4 12章のまとめ
12.5 Python 演習
12.6 練習問題正解例
第13章 データ構造の変更に応じた改良
13.1 ダイクストラ法
13.2 貪欲法
13.3 練習問題
13.4 13章のまとめ
13.5 Python 演習
13.6 練習問題正解例
第14章 条件に応じた探索の改良
14.1 力まかせ探索とミニマックス法
14.2 枝刈り
14.3 練習問題
14.4 14章のまとめ
14.5 Python 演習
14.6 練習問題正解例
第15章 目的別のアルゴリズムとデータ構造
15.1 分割ナップザック問題
15.2 0-1 ナップザック問題
15.3 練習問題
15.4 15章のまとめ
15.5 Python 演習
15.6 練習問題正解例
付録 Python を使うために!
A.1 導入編
A.2 準備編 (ツール入手など)
A.3 Python スクリプトファイル・インタフェース
参考文献
索引