基本情報技術者試験 図解でわかるアルゴリズムの基本と仕組み
基本情報技術者試験の必須問題にして最大の難所である「アルゴリズム」の仕組みや表記法を図解でやさしく解説した入門書です。一見複雑な処理の流れに見えるアルゴリズムも、実際には単純なアルゴリズムが組み合わさったものにすぎません。本書では、小さくて単純なアルゴリズムの解説から始め、複雑なアルゴリズムへとステップアップしながら学習を進めます。また、アルゴリズム学習に欠かせない変数やデータ構造、配列、リストなどのデータ構造や、アルゴリズムの信頼性、計算量の検証方法についても学習します。理解の難しいところは図解でやさしく解説しているので、試験対策はもちろん、スキルアップにも役立ちます。
【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/2335.html
【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/2335.html
第1章 アルゴリズムの基礎
1-1 「プログラム」とは
1-2 アルゴリズムとは
コラム スパゲティプログラム1
1-3 アルゴリズムを記述する方法
第2章 擬似言語と構造化プログラミング
2-1 擬似言語とは
2-2 擬似言語の記述形式
2-3 擬似言語の構造
2-4 構造化プログラミングとは
2-5 構造化のためのルール
第3章 変数とデータ構造
3-1 データ型と変数名─変数の基本1
3-2 代入と参照─変数の基本2
コラム スパゲティプログラム2
3-3 配列─データ構造の基本1
コラム 多次元配列を一次元配列で表す
3-4 リスト─データ構造の基本2
3-5 変数と配列の実装
3-6 副プログラム(手続き)の定義─構造化プログラミング1
3-7 段階的詳細化─構造化プログラミング2
第4章 簡単なアルゴリズム
4-1 合計値を求める(合計処理)
4-2 データの個数を求める(件数カウント)
4-3 平均値を求める(平均算出)
コラム C言語に出会うまで
4-4 最大値を求める
4-5 最小値を求める
第5章 番人を使ったアルゴリズム
5-1 文字列の長さを調べる
5-2 ある値より大きい(小さい)要素の検索
コラム ヘッダファイルの活用術
5-3 共通要素の検索
第6章 ソートのアルゴリズム
6-1 単純選択法
6-2 バブルソート(単純交換法)
6-3 単純挿入法
コラム ブロックを表す大括弧{ }をどこに記述するか
6-4 シェルソート
第7章 探索アルゴリズム
7-1 線形探索(リニアサーチ)
7-2 二分探索(バイナリサーチ)1
7-3 二分探索(バイナリサーチ)2
7-4 文字列の照合
第8章 再帰を利用したアルゴリズム
8-1 再帰とは
コラム 時代はC++、そしてJavaへ
8-2 最大公約数を求める
8-3 階乗を求める
8-4 クイックソート
第9章 その他のアルゴリズム
9-1 3ステップで実行する─単一ファイルの処理1
9-2 表形式でデータを管理する─単一ファイルの処理2
コラム ファイルリソースの解放忘れに注意
9-3 複数ファイルの処理(ファイルのマージ)
9-4 ニュートン法
9-5 台形法
9-6 図形に関するアルゴリズム
9-7 ダイクストラ法の考え方─グラフに関するアルゴリズム1
9-8 ダイクストラ法のアルゴリズム─グラフに関するアルゴリズム2
第10章 アルゴリズムの評価
10-1 計算量の求め方─計算量の評価1
コラム プロファイラを活用しよう
10-2 アルゴリズムの計算量を求める─計算量の評価2
10-3 正当性の評価
1-1 「プログラム」とは
1-2 アルゴリズムとは
コラム スパゲティプログラム1
1-3 アルゴリズムを記述する方法
第2章 擬似言語と構造化プログラミング
2-1 擬似言語とは
2-2 擬似言語の記述形式
2-3 擬似言語の構造
2-4 構造化プログラミングとは
2-5 構造化のためのルール
第3章 変数とデータ構造
3-1 データ型と変数名─変数の基本1
3-2 代入と参照─変数の基本2
コラム スパゲティプログラム2
3-3 配列─データ構造の基本1
コラム 多次元配列を一次元配列で表す
3-4 リスト─データ構造の基本2
3-5 変数と配列の実装
3-6 副プログラム(手続き)の定義─構造化プログラミング1
3-7 段階的詳細化─構造化プログラミング2
第4章 簡単なアルゴリズム
4-1 合計値を求める(合計処理)
4-2 データの個数を求める(件数カウント)
4-3 平均値を求める(平均算出)
コラム C言語に出会うまで
4-4 最大値を求める
4-5 最小値を求める
第5章 番人を使ったアルゴリズム
5-1 文字列の長さを調べる
5-2 ある値より大きい(小さい)要素の検索
コラム ヘッダファイルの活用術
5-3 共通要素の検索
第6章 ソートのアルゴリズム
6-1 単純選択法
6-2 バブルソート(単純交換法)
6-3 単純挿入法
コラム ブロックを表す大括弧{ }をどこに記述するか
6-4 シェルソート
第7章 探索アルゴリズム
7-1 線形探索(リニアサーチ)
7-2 二分探索(バイナリサーチ)1
7-3 二分探索(バイナリサーチ)2
7-4 文字列の照合
第8章 再帰を利用したアルゴリズム
8-1 再帰とは
コラム 時代はC++、そしてJavaへ
8-2 最大公約数を求める
8-3 階乗を求める
8-4 クイックソート
第9章 その他のアルゴリズム
9-1 3ステップで実行する─単一ファイルの処理1
9-2 表形式でデータを管理する─単一ファイルの処理2
コラム ファイルリソースの解放忘れに注意
9-3 複数ファイルの処理(ファイルのマージ)
9-4 ニュートン法
9-5 台形法
9-6 図形に関するアルゴリズム
9-7 ダイクストラ法の考え方─グラフに関するアルゴリズム1
9-8 ダイクストラ法のアルゴリズム─グラフに関するアルゴリズム2
第10章 アルゴリズムの評価
10-1 計算量の求め方─計算量の評価1
コラム プロファイラを活用しよう
10-2 アルゴリズムの計算量を求める─計算量の評価2
10-3 正当性の評価