目次
1章 アルゴリズムとは
- 01 アルゴリズムの基本構造と表現方法~フローチャート・擬似言語・プログラム言語
- 02 フローチャートの理解①~変数と順次処理
- 03 フローチャートの理解②~選択処理(種類と構造)
- 04 フローチャートの理解③~前判定繰返し処理と後判定繰返し処理
- 05 フローチャートの理解④~繰返し記号を使った繰返し処理
- 06 擬似言語の理解①~表記ルール(データ型と変数)
- 07 擬似言語の理解②~条件数に応じて記述方法が変わる選択処理
- 08 擬似言語の理解③~前判定繰返し処理と後判定繰返し処理
- 09 擬似言語の理解④~制御記述を使った繰返し処理
2章 データ構造
- 10 データ構造~複数データを格納する仕組みとその種類
- 11 配列~複数データを順番に格納する仕組み
- 12 リスト~ポインタを使ったデータ格納の仕組み
- 13 キュー~最初の格納データから順番に取り出すデータ構造
- 14 スタック~最後の格納データから順番に取り出すデータ構造
- 15 木構造~階層をたどってアクセスするデータ構造
3章 アルゴリズムの基本要素
- 16 演算~演算の種類と演算子
- 17 関数の基礎~関数の役割と仕組み
- 18 関数の種類~引数と戻り値の使い方
- 19 擬似言語における関数~関数の宣言と記述方法
4章 再帰
- 20 再帰~自分自身を呼び出す手法
- 21 事例で学ぶ再帰①~階乗の計算
- 22 事例で学ぶ再帰②~ユークリッドの互除法
5章 探索
- 23 線形探索法~先頭から順にデータを探索
- 24 2分探索法~データを半分に絞り込んで探索
- 25 ハッシュ表探索法~ハッシュ関数を使って探索
6章 整列(ソート)
- 26 バブルソート~隣り合うデータを比較・交換して整列
- 27 選択ソート~データの最小値を先頭データと交換して整列
- 28 挿入ソート~整列済み/未整列にデータを分けて整列
- 29 マージソート~分割と統合で全体を整列
- 30 ヒープソート~ヒープを使って最大要素を取り出しながら整列
- 31 クイックソート~分割を繰り返して高速に整列
7章 グラフ
- 32 グラフのアルゴリズム~点と線で表す構造
- 33 幅優先探索~キューを使って最短経路を探索
- 34 深さ優先探索~スタックのデータ構造で奥深くすべてを探索
- 35 ダイクストラ法~辺のコストが0以上で使える最短経路探索
- 36 ベルマンフォード法~辺のコストが負でも使える最短経路探索
8章 基数変換
- 37 基数~2進数・10進数・16進数の基本
- 38 基数変換①~n進数を10進数に変換
- 39 基数変換②~10進数の整数をn進数に変換
- 40 基数変換③~10進数の小数をn進数に変換
9章 暗号化と認証
- 41 暗号化~第三者の解読を防ぐ仕組み
- 42 共通鍵暗号方式~暗号化と復号に同じ鍵を使う方式
- 43 公開鍵暗号方式~暗号化と復号で違う鍵を使う方式
- 44 ハイブリッド暗号方式~共通鍵暗号方式と公開鍵暗号方式の組み合わせ
- 45 デジタル署名~公開鍵暗号方式とハッシュ関数の組み合わせ
10章 AI
- 46 AIのアルゴリズム~実装技術と機能による分類
- 47 機械学習の仕組み~教師あり学習,教師なし学習,強化学習
- 48 線形回帰(教師あり学習①)~過去のデータをもとに数値を予測
- 49 ロジスティック回帰(教師あり学習②)~確率としきい値をもとに2値に分類
- 50 そのほかの教師あり学習~決定木,ランダムフォレスト,サポートベクターマシン(SVM),k近傍法(k-NN)
- 51 k-means(教師なし学習①)~似たデータをk個のグループに分類
- 52 主成分分析(教師なし学習②)~重要な特徴を少ない指標に要約
- 53 Q学習(強化学習)~試行錯誤を通じて行動を学習
- 54 ディープラーニング①~ニューラルネットワークの仕組み
- 55 ディープラーニング②~畳み込みニューラルネットワーク(CNN)
- 56 ディープラーニング③~再帰型ニューラルネットワーク(RNN)
- 57 ディープラーニング④~敵対的生成ネットワーク(GAN)