基本情報技術者試験の核心となる「第3章:アルゴリズムとプログラミング」の内容を、ご要望に合わせて純日本語で要約し、最後に重要単語の読み方をまとめました。
第3章 アルゴリズムとプログラミング 要約
本章では、コンピュータがデータを処理する具体的な仕組みである「データ構造」と、効率的な処理手順である「アルゴリズム」、そして「プログラミング」の基礎について学習します。
1. データ構造(データの整理方法)
効率的なプログラムを作成するためには、目的に合ったデータの持ち方を選ぶ必要があります。
- スタックとキュー:スタックは「後入れ先出し(LIFO)」、キューは「先入れ先出し(FIFO)」というデータの出し入れの規則を持ちます。
- 配列と連結リスト:配列は要素番号で直接データにアクセスできますが、要素の挿入・削除には時間がかかります。一方、連結リストはポインタでデータを繋ぐため、挿入・削除を迅速に行えるのが特徴です。
- 木構造:階層を持つ構造です。特に「左の子孫 < 親 < 右の子孫」というルールを持つ2分探索木は、データの検索を高速化するために非常に有効です。
2. アルゴリズム(処理の手順)
アルゴリズムは流れ図(フローチャート)や疑似言語で表現されます。
- 探索と整列:目的のデータを探す「探索」には、整列済みのデータに対して範囲を半分ずつ絞り込む2分探索法や、計算によって位置を特定するハッシュ法などがあります。データを並べ替える「整列」では、非常に高速なクイックソートが試験で重要視されます。
- 計算量とオーダー:アルゴリズムの効率は「オーダー記法($O$記法)」で表されます。データ数 $n$ に対して、ハッシュ法は $O(1)$、2分探索法は $O(\log n)$ となり、これらは非常に効率が良いアルゴリズムとされます。
3. プログラムの性質とWeb技術
- プログラムの性質:代表的なものに、自分自身を呼び出す再帰(リカーシブ)、複数の処理から同時に呼ばれても正しく動作する再入可能(リエントラント)、主記憶のどこに配置しても実行できる再配置可能(リロケータブル)などがあります。
- Web関連技術:文書の論理構造を定義するHTML、独自のタグでデータ交換を容易にするXML、デザインを担うCSSを使い分けます。また、Ajaxを用いることで、ページ全体を読み直すことなく部分的なデータ更新が可能になります。
【第3章 重要単語の読み方】
- データ構造:データこうぞう
- 配列:はいれつ
- 連結リスト:れんけつリスト
- 木構造:きこうぞう
- 2分探索木:にぶんたんさくき
- 流れ図:ながれず
- 関数:かんすう
- 引数:ひきすう
- 戻り値:もどりち
- 整列:せいれつ
- 探索:たんさく
- 再帰:さいき
- 再入可能:さいにゅうかのう
- 再配置可能:さいはいちかのう
- 再使用可能:さいしようかのう