実践力をアップする Pythonによるアルゴリズムの教科書

書籍情報

発売日 : 2023年06月27日

著者/編集 : クジラ飛行机

出版社 : マイナビ出版

発行形態 : 単行本

書籍説明

内容紹介

定番アルゴリズムから、AI関連まで、図で仕組みを理解し、作例で実装力を身に付ける!遊びのある作例で、楽しみながら学べる!

目次

Chapter 1 なぜアルゴリズムが重要なのか
1-1 なぜアルゴリズムが大切なのか(モチベーションを高めよう!)
1-2 アルゴリズムの評価手法について
1-3 計算量とO記法について
1-4 Pythonのインストール
1-5 ターミナルのススメ
1-6 Pythonで手軽に書けるテストについて
1-7 プログラミングの基本― 制御構文まとめ
1-8 プログラミング基本データ型のまとめ

Chapter 2 条件分岐と繰り返しのアルゴリズム
2-1 FizzBuzz問題
2-2 素数判定(試し割り法)
2-3 素数判定の最適化と素数列挙(エラトステネスのふるい)
2-4 コインの組み合わせ問題
2-5 N進数表現と変換
2-6 シーザー暗号
2-7 上杉暗号
2-8 XOR暗号
2-9 カードのシャッフル

Chapter 3 データ構造と再帰について
3-1 定番データ構造 ― リスト・スタック・キュー・リングバッファ
3-2 スタック構造で解く逆ポーランド記法(後置記法)
3-3 再帰でフィボナッチの計算
3-4 木構造のディレクトリ内のファイルを全列挙
3-5 再帰で解くハノイの塔
3-6 データの間違いを簡単に検出できる「ハッシュ関数」
3-7 仮想通貨にも使われるハッシュ木(マークル木)

Chapter 4 定番アルゴリズム(データの検索とソート)
4-1 基本ソートアルゴリズムについて(バブルソート/コムソート/選択ソート)
4-2 発展ソートアルゴリズムについて(バブルソート/コムソート/選択ソート)
4-3 探索アルゴリズムについて(線形探索/二分探索/二分探索木)
4-4 バイナリデータをテキスト表現しよう
4-5 データの圧縮について
4-6 画像に関するアルゴリズム

Chapter 5 難解パズルで学ぶアルゴリズム
5-1 迷路の自動生成(棒倒し法、穴掘り法)
5-2 迷路の自動探索
5-3 「ナンプレ」(パズル)を解く
5-4 15パズルを解く
5-5 ナップサック問題
5-6 疑似乱数生成

Chapter 6 人工知能(AI)・自然言語処理のアルゴリズム
6-1 文章の類似度(レーベンシュタイン距離、n-gram)
6-2 文章のカテゴライズ(単純ベイズ分類器)
6-3 マルコフ連鎖を利用した文章生成
6-4 データのクラスタリング(k-means法)
6-5 画像分類 ― k近傍法で手書き数字の判定

著者情報

クジラ飛行机