IPA アルゴリズム — 頻出論点と過去問
この分野の学び方
1. この分野の全体像
アルゴリズムは、データの持ち方と処理の手順を組み立て、それをプログラムとして書き表して読み解くための技術の集まりです。たどる対象は、ITパスポートでは擬似言語のプログラムや表計算の式、応用情報技術者の午前ではデータ構造の操作や比較回数・計算量の式で、高度試験の午前IIになるとデータベースや設計の区分に合わせた題材に移ります。データの並べ方や格納の仕組みの上に探索や整列の手法が組み立てられ、それらを具体的なコードや流れ図として追跡する技術と、記述に用いる言語やパラダイムの仕様が結びついています。
2. 配下の論点の案内
データ構造: 「整列・探索・計算量」の手順が前提にするのは、この論点で学ぶデータの置き方とつなぎ方です。応用情報技術者の午前やデータベーススペシャリストの午前IIでは、スタックから取り出せる順序の数え上げ、2分探索木やB+木の再構成、配列で表したリストの操作、ハッシュ関数で衝突が起きる条件を求める問題が出ています。
整列・探索・計算量: 「データ構造」の上に立ち、線形探索や2分探索のような手順の手間を、オーダーや平均回数という物差しで比べます。応用情報技術者の午前では途中の並びや流れ図から整列の方式を見分ける問題や、探索の平均比較回数・二分法の反復回数・再帰的な定義を選ぶ問題が出題されています。
擬似言語・プログラム読解: 知識を問うほかの論点と違い、示されたプログラムや表計算の式をその場で動かして答えを出す形です。ITパスポートでは配列操作や数値判定のプログラム、相対参照・絶対参照や条件分岐を含むワークシートの式を読み解く問題が中心です。
プログラム言語・パラダイム: 書かれたプログラムを読む力ではなく、言語やパラダイムの性質をどれだけ知っているかで答えが決まります。応用情報技術者の午前では言語やデータ形式の特徴から名前を当てる問題があって、システムアーキテクトの午前IIではオブジェクト指向や関数型などのパラダイムの性質と、引数の渡し方が問われています。
3. 学習の順序の提案
「擬似言語・プログラム読解」で身につけるたどり方は、ほかの論点で手順や再帰の動きを確かめるときにも同じように使います。「データ構造」は、木や配列を使う「整列・探索・計算量」の手順と比較回数の式の前提になるので、その次に置きます。「プログラム言語・パラダイム」はほかの論点の前提を要しない知識の論点で、受ける区分の出題に合わせて学ぶ時期を決められます。
| 受ける区分 | 先に学ぶ論点 | 次に学ぶ論点 |
|---|---|---|
| ITパスポート | 擬似言語・プログラム読解 | データ構造、整列・探索・計算量、プログラム言語・パラダイムの基本用語 |
| 応用情報技術者 / 高度試験の午前I | データ構造、整列・探索・計算量 | プログラム言語・パラダイム、擬似言語・プログラム読解(流れ図の条件比較) |
| 高度試験の午前II | 区分に対応する論点(データベーススペシャリストはデータ構造と整列・探索・計算量、システムアーキテクトはプログラム言語・パラダイム、エンベデッドシステムスペシャリストはプログラム言語・パラダイムとデータ構造) | 左記の前提となる2分木・ハッシュ・スタックの基礎 |
応用情報技術者の午後では、グラフの最短経路や、動的計画法で求める最長共通部分列、パズルや迷路を解く探索、整数を扱う計算を題材に、プログラムの空欄や行の実行回数を答える大問が出ています。この大問を選ぶなら、「データ構造」と「整列・探索・計算量」で木や再帰、探索の考え方を固めてから、「擬似言語・プログラム読解」のたどり方で長い仕様とプログラムを突き合わせる順になります。情報処理安全確保支援士の午後Iにも、Webアプリケーションのプログラムを解析ツールやテストで調べる場面を題材に、指摘された行や変数をプログラムの中から読み取らせる大問があります。
4. 分野をまたいで間違えやすいところ
並べ替えの手順が流れ図や擬似言語で示された問題でも、どの整列法かや比較の回数を答えさせるなら「整列・探索・計算量」、示された時点の変数や配列の値を答えさせるなら「擬似言語・プログラム読解」の問題です。前者は手順の名前と性質を知っていれば選択肢を絞れますが、後者は整列法の名前が分かっても答えには近づきません。
スタックの後入れ先出しを問う問題と、関数の呼出しで積まれるスタックフレームの量を見積もる問題は、同じスタックでも見るものが違います。前者は「データ構造」で、積む順と取り出す順の組合せを数える問題です。後者は「プログラム言語・パラダイム」にも、システム開発技術の分野にも入る問題で、1つ1つの値ではなく関数ごとのまとまりを単位に考えます。
B+木インデックスのノードの分割やアクセス回数のオーダー、入れ子ループ法による結合の計算量を問う問題は、アルゴリズムの「データ構造」や「整列・探索・計算量」でも、データベースの分野の「インデックス・物理設計」でも学ぶ問題です。アルゴリズムの側からは手順の手間の見積もりとして、データベースの側からは索引や結合方式の選び方として、同じ問題に関わります。
プリンタへの印刷データの割当てや、媒体へのファイル領域の割当てを決められた規則どおりに試す問題は、アルゴリズムの分野とOS・ソフトウェアの分野の両方に入っているものの、アルゴリズムの側ではどの論点にも入りません。同じ割当ての話でも、空き領域を管理するデータ構造の速さを比べる問題は「データ構造」の問題で、規則を最後まで試して結果を出す問題とは問われているものが違います。
アルゴリズムの理解度チェック
アルゴリズムの過去問一覧
- 2026年度(R8) ITパスポート 問67 手続 sort は,要素数が2以上の整数型の配列を引数 numberArray で受け取り,その要素を昇順に並べ替えた結…
- 2026年度(R8) ITパスポート 問74 表計算ソフトを用いて,二つの2進数 \alpha,\beta の和を求める。\alpha,\beta の桁数は2桁に限定…
- 2026年度(R8) ITパスポート 問85 関数 isPrime は,引数として与えられた正の整数が,素数であれば true を,素数でなければ false を戻り…
- 2026年度(R8) ITパスポート 問88 プログラミングすることによって,ペンの上げ下げ,直進及び右回りの方向転換が可能なロボットがある。このロボットに1辺が1 …
- 2025(R7)秋 応用情報技術者 午前 問6 異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し,各ブロックの最後尾のデータだけ…
- 2025(R7)秋 高度試験共通 午前I 問3 異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し,各ブロックの最後尾のデータだけ…
- 2025(R7)春 応用情報技術者 午前 問2 0 \leqq x \leqq 1 の範囲で単調に増加する連続関数 f(x) が f(0) < 0 \leqq f(1)…
- 2025(R7)春 応用情報技術者 午前 問5 A, B, C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,…
- 2025(R7)春 応用情報技術者 午前 問6 図の2分探索木に1と0の二つの要素を順に追加したAVL木として,適切なものはどれか。…
- 2025(R7)春 応用情報技術者 午前 問7 fact(n)は,非負の整数nに対してnの階乗を返す。fact(n)の再帰的な定義はどれか。…
- 2025(R7)春 高度試験共通 午前I 問1 0 \leqq x \leqq 1 の範囲で単調に増加する連続関数 f(x) が f(0) < 0 \leqq f(1)…
- 2025(R7)春 高度試験共通 午前I 問3 A, B, Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,デ…
- 2025(R7)春 システムアーキテクト 午前II 問9 サブルーチンとの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されている…
- 2025年度(R7) ITパスポート 問76 商品の税込価格を計算する表計算のワークシートがある。セルB1には消費税率が入力されており,セルB4〜B6には税抜価格が入…
- 2025年度(R7) ITパスポート 問78 手続 calcMod3 を呼び出したときの出力はどれか。…
- 2025年度(R7) ITパスポート 問98 4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手…
- 2025年度(R7) ITパスポート 問99 関数 calculateAmountOfPrize は,業務改善の効果における改善額と短縮期間を,それぞれ improv…
- 2024(R6)秋 応用情報技術者 午前 問3 式A+B×Cの逆ポーランド表記法による表現として,適切なものはどれか。…
- 2024(R6)秋 応用情報技術者 午前 問5 次の2分探索木から要素12を削除したとき,その位置に別の要素を移動するだけで2分探索木を再構成するには,削除された要素の…
- 2024(R6)秋 応用情報技術者 午前 問6 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x mod…
- 2024(R6)秋 高度試験共通 午前I 問2 式 A+B\times C の逆ポーランド表記法による表現として,適切なものはどれか。…
- 2024(R6)秋 高度試験共通 午前I 問3 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x \bm…
- 2024(R6)秋 データベーススペシャリスト 午前II 問3 関係データベースのテーブルにレコードを1件追加したところ,インデックスとして使う,B⁺木のリーフノードCがノードC1とC…
- 2024(R6)春 応用情報技術者 午前 問5 正の整数 M に対して,次の二つの流れ図に示すアルゴリズムを実行したとき,結果 x の値が等しくなるようにしたい。空欄a…
- 2024(R6)春 応用情報技術者 午前 問6 各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,図の2分木の根(最上位のノード)から始め…
- 2024(R6)春 応用情報技術者 午前 問7 整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダ…
- 2024(R6)春 高度試験共通 午前I 問3 各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,図の2分木の根(最上位のノード)から始め…
- 2024(R6)春 システムアーキテクト 午前II 問7 現在のプログラム A, B に, 在庫テーブルを更新した後に更新ログを出力する機能を追加する。この機能は共通モジュールで…
- 2024(R6)春 システムアーキテクト 午前II 問8 純粋関数型言語が持つ特性の一つである参照透過性の説明はどれか。…
- 2024(R6)春 システムアーキテクト 午前II 問9 論理型プログラミングにおいて,命題の証明を行うための基本的な機能はどれか。…
- 2024年度(R6) ITパスポート 問62 関数convertは,整数型の配列を一定のルールで文字列に変換するプログラムである。関数convertをconvert(…
- 2024年度(R6) ITパスポート 問85 関数 binaryToInteger は,1桁以上の符号なし2進数を文字列で表した値を引数 binaryStr で受け取…
- 2024年度(R6) ITパスポート 問88 JavaScriptに関する記述として,適切なものはどれか。…
- 2023(R5)秋 応用情報技術者 午前 問3 逆ポーランド表記法(後置記法)で表現されている式 \text{ABCD}-\times+ において, \text{A}=…
- 2023(R5)秋 応用情報技術者 午前 問5 双方向リストを三つの一次元配列 elem[i], next[i], prev[i] の組で実現する。双方向リストが図の状…
- 2023(R5)秋 応用情報技術者 午前 問6 あるデータ列を整列したら状態0から順に状態1, 2, ・・・, Nへと推移した。整列に使ったアルゴリズムはどれか。…
- 2023(R5)秋 応用情報技術者 午前 問7 JavaScriptのオブジェクトの表記法などを基にして規定したものであって,“名前と値との組みの集まり”と“値の順序付…
- 2023(R5)秋 高度試験共通 午前I 問1 逆ポーランド表記法(後置記法)で表現されている式 ABCD - \times + において,A=16,B=8,C=4,D…
- 2023(R5)秋 高度試験共通 午前I 問3 あるデータ列を整列したら状態0から順に状態1, 2, ・・・, Nへと推移した。整列に使ったアルゴリズムはどれか。…
- 2023(R5)秋 データベーススペシャリスト 午前II 問2 大文字のアルファベットで始まる膨大な数のデータを,規則に従って複数のノードに割り当てる。このようにあらかじめ定めた規則に…
- 2023(R5)秋 データベーススペシャリスト 午前II 問4 B+木インデックスが定義されている候補キーを利用して,1件のデータを検索するとき,データ総件数 X に対する B+木イン…
- 2023(R5)秋 データベーススペシャリスト 午前II 問18 ブロックチェーンのデータ構造の特徴として,適切なものはどれか。…
- 2023(R5)春 応用情報技術者 午前 問5 要求に応じて可変量のメモリを割り当てるメモリ管理方式がある。要求量以上の大きさをもつ空き領域のうちで最小のものを割り当て…
- 2023(R5)春 応用情報技術者 午前 問6 従業員番号と氏名の対が n件格納されている表に線形探索法を用いて, 与えられた従業員番号から氏名を検索する。この処理にお…
- 2023(R5)春 応用情報技術者 午前 問7 配列に格納されたデータ 2, 3, 5, 4, 1 に対して, クイックソートを用いて昇順に並べ替える。2回目の分割が終…
- 2023(R5)春 応用情報技術者 午前 問19 ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になることはないものとする。…
- 2023(R5)春 高度試験共通 午前I 問3 配列に格納されたデータ 2, 3, 5, 4, 1 に対して,クイックソートを用いて昇順に並べ替える。2回目の分割が終わ…
- 2023(R5)春 高度試験共通 午前I 問6 ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になることはないものとする。…
- 2023(R5)春 システムアーキテクト 午前II 問5 Java サーブレットを用いた Web アプリケーションソフトウェアの開発では,例えば,doGet や doPost な…
- 2023年度(R5) ITパスポート 問60 手続 printArray は, 配列 integerArray の要素を並べ替えて出力する。手続 printArray…
- 2023年度(R5) ITパスポート 問64 関数 sigma は,正の整数を引数 max で受け取り,1 から max までの整数の総和を戻り値とする。プログラム中…
- 2023年度(R5) ITパスポート 問69 配列に格納されているデータを探索するときの,探索アルゴリズムに関する記述のうち,適切なものはどれか。…
- 2023年度(R5) ITパスポート 問75 表計算ソフトを用いて,二つの科目 X,Y の点数を評価して合否を判定する。それぞれの点数はワークシートのセル A2,B2…
- 2022(R4)秋 応用情報技術者 午前 問5 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x \bm…
- 2022(R4)秋 応用情報技術者 午前 問6 未整列の配列 A[i] (i=1, 2, \dots, n) を,次の流れ図によって整列する。ここで用いられる整列アルゴ…
- 2022(R4)秋 応用情報技術者 午前 問19 LANに接続された3台のプリンターA〜Cがある。印刷時間が分単位で4, 6, 3, 2, 5, 3, 4, 3, 1の9…
- 2022(R4)秋 高度試験共通 午前I 問3 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x \bm…
- 2022(R4)秋 エンベデッドシステムスペシャリスト 午前II 問21 プログラム言語Cで作成されたプログラム全体で使用するスタックフレームのサイズが,確保したサイズ内に収まっていることを検証…
- 2022(R4)春 応用情報技術者 午前 問5 リストには,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれ…
- 2022(R4)春 応用情報技術者 午前 問7 プログラム言語のうち,ブロックの範囲を指定する方法として特定の記号や予約語を用いず,等しい文字数の字下げを用いるという特…
- 2022(R4)春 高度試験共通 午前I 問2 リストには,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれ…
- 2022(R4)春 高度試験共通 午前I 問3 プログラム言語のうち,ブロックの範囲を指定する方法として特定の記号や予約語を用いず,等しい文字数の字下げを用いるという特…
- 2022(R4)春 ネットワークスペシャリスト 午前II 問22 量子アニーリング方式の量子コンピュータの説明として,適切なものはどれか。…
- 2022年度(R4) ITパスポート 問78 関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列 originalD…
- 2022年度(R4) ITパスポート 問79 流れ図で示す処理を終了したとき,xの値はどれか。…
- 2022年度(R4) ITパスポート 問88 IoTデバイスで収集した情報をIoTサーバに送信するときに利用されるデータ形式に関する次の記述中のa, bに入れる字句の…
- 2022年度(R4) ITパスポート 問90 ディレクトリ又はファイルがノードに対応する木構造で表現できるファイルシステムがある。ルートディレクトリを根として図のよう…
- 2022年度(R4) ITパスポート 問96 関数calcXと関数calcYは,引数inDataを用いて計算を行い,その結果を戻り値とする。関数calcXをcalcX…
- 2021(R3)秋 応用情報技術者 午前 問1 非線形方程式 f(x)=0 の近似解法であり,次の手順によって解を求めるものはどれか。ここで,y=f(x) には接線が存…
- 2021(R3)秋 応用情報技術者 午前 問5 バブルソートの説明として,適切なものはどれか。…
- 2021(R3)秋 応用情報技術者 午前 問7 静的型付けを行うプログラム言語では,コンパイル時に変数名の誤り,誤った値の代入などが発見できる。Webプログラミングで用…
- 2021(R3)秋 高度試験共通 午前I 問1 非線形方程式 f(x)=0 の近似解法であり,次の手順によって解を求めるものはどれか。ここで,y=f(x) には接線が存…
- 2021(R3)秋 高度試験共通 午前I 問3 バブルソートの説明として,適切なものはどれか。…
- 2021(R3)秋 データベーススペシャリスト 午前II 問15 関係データベースにおいて,タプル数 n の表二つに対する結合操作を,入れ子ループ法によって実行する場合の計算量はどれか。…
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午前II 問9 三つの媒体A〜Cに次の条件でファイル領域を割り当てた場合,割り当てた領域の総量が大きい順に媒体を並べたものはどれか。 〔…
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午前II 問10 ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になることはないものとする。…
- 2021(R3)春 応用情報技術者 午前 問5 A, B, C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,…
- 2021(R3)春 応用情報技術者 午前 問6 配列 A[1], A[2], \dots, A[n] で,A[1] を根とし,A[i] の左側の子を A[2i],右側の…
- 2021(R3)春 応用情報技術者 午前 問7 アルゴリズム設計としての分割統治法に関する記述として,適切なものはどれか。…
- 2021(R3)春 高度試験共通 午前I 問2 A, B, Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,デ…
- 2021(R3)春 高度試験共通 午前I 問3 アルゴリズム設計としての分割統治法に関する記述として,適切なものはどれか。…
- 2021(R3)春 システムアーキテクト 午前II 問8 サブルーチンへの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されている…
- 2021年度(R3) ITパスポート 問74 流れ図Xで示す処理では,変数 i の値が,1 → 3 → 7 → 13 と変化し,流れ図Yで示す処理では,変数 i の値…
- 2019(R1)秋 システムアーキテクト 午前II 問4 Javaサーブレットを用いたWebアプリケーションソフトウェアの開発では,例えば,doGetやdoPostなどのメソッド…
- 2019(R1)秋 システムアーキテクト 午前II 問5 あるプログラム言語によるプログラミングの解説書の中に次の記述がある。この記述中の“良いプログラム”がもっている特性はどれ…
- 2018(H30)秋 システムアーキテクト 午前II 問11 次の流れ図において, ① \to ② \to ③ \to ⑤ \to ② \to ③ \to ④ \to ② \to ⑥…
この分野の午後問題(記述式・読み物)
- 2025(R7)秋 応用情報技術者 午後 問3 二つの列の最長共通部分列 (Longest Common Subsequence) の長さを求めるアルゴリズムに関する次…
- 2025(R7)春 応用情報技術者 午後 問3 問3 スライドパズルを解くプログラムに関する次の記述を読んで,設問に答えよ。…
- 2024(R6)秋 応用情報技術者 午後 問3 問3 素数を列挙するアルゴリズムに関する次の記述を読んで,設問に答えよ。…
- 2024(R6)春 応用情報技術者 午後 問3 問3 グラフのノード間の最短経路を求めるアルゴリズムに関する次の記述を読んで,設問に答えよ。…
- 2023(R5)秋 応用情報技術者 午後 問3 問3 2分探索木に関する次の記述を読んで,設問に答えよ。…
- 2023(R5)春 応用情報技術者 午後 問3 多倍長整数の演算に関する次の記述を読んで,設問に答えよ。…
- 2023(R5)春 情報処理安全確保支援士 午後I 問1 問1 Webアプリケーションプログラム開発に関する次の記述を読んで,設問に答えよ。…
- 2022(R4)秋 応用情報技術者 午後 問3 迷路の探索処理に関する次の記述を読んで,設問に答えよ。…
- 2022(R4)春 応用情報技術者 午後 問3 問3 パズルの解答を求めるプログラムに関する次の記述を読んで,設問1〜3に答えよ。…
- 2021(R3)秋 応用情報技術者 午後 問3 一筆書きに関する次の記述を読んで,設問 1〜4 に答えよ。…
- 2021(R3)春 応用情報技術者 午後 問3 クラスタ分析に用いる k-means 法に関する次の記述を読んで,設問 1~3 に答えよ。…
アルゴリズムの用語
テクノロジのほかの分野
基礎理論70問 ハードウェア184問 システム構成154問 OS・ソフトウェア106問 データベース257問 ネットワーク405問 セキュリティ技術562問 セキュリティ管理165問 システム開発技術253問 開発プロセス126問 組込み・IoT146問 AI・データ活用118問 クラウド・仮想化66問 インタフェース・メディア65問 データマネジメント7問