アルゴリズムとプログラミング分野の攻略ポイント
応用情報技術者試験・プロジェクトマネージャ試験で出題された「アルゴリズムとプログラミング」分野の過去問 145問と、当サイトが独自にまとめた攻略の要点です。
この分野で問われること
データ構造・アルゴリズム・探索と整列・計算量・擬似言語・プログラム言語・データ記述言語が対象です。擬似言語のトレースは時間はかかるものの、落ち着いて表を書けば必ず正解にたどり着く「確実に取れる」問題です。
攻略の要点
- データ構造の特性:スタック=LIFO(後入れ先出し)、キュー=FIFO(先入れ先出し)、リスト=挿入削除が速く添字アクセスが遅い、配列=その逆。ハッシュ表は平均 O(1) で探索できるが衝突処理が必要。
- 木構造では2分探索木の探索・挿入、および先行順(行きがけ)・中間順(通りがけ)・後行順(帰りがけ)の走査順序。中間順で2分探索木を走査すると昇順に並ぶ、という性質が頻出。
- 整列アルゴリズムは、安定か否か・最悪計算量・平均計算量で整理する。クイックソートは平均 O(n log n) だが最悪 O(n²)、マージソートは常に O(n log n) で安定。
- 擬似言語の問題は、変数の値を1行ずつ表にして追う。頭の中で処理しようとすると必ず間違えるので、必ず紙に書く。ループの終了条件と添字の初期値(0始まりか1始まりか)が最大の罠。
- 再帰は「基底条件」と「再帰呼出しで問題がどう小さくなるか」の2点を確認する。呼出し回数を問う問題は樹形図を描く。
- 探索は線形探索 O(n)、2分探索 O(log n)(整列済みが前提)。2分探索の比較回数は log₂n の切上げ。
選択肢の典型的なひっかけ
- スタックとキューの取り違え。「最後に入れたものを最初に取り出す」がスタック。
- 2分探索を未整列データに適用できるとする選択肢。整列済みであることが必須条件。
- 擬似言語で境界(配列の最後の要素を処理するか否か)を1つずれて数えるオフバイワンエラー。
前提となる用語
スタック・キューリスト・配列ハッシュ表2分探索木木の走査整列アルゴリズム2分探索再帰計算量擬似言語
「アルゴリズムとプログラミング」の過去問(145問中60問を表示)
- 令和7年度春期 応用情報技術者試験 午前 問20≦x≦1の範囲で単調に増加する連続関数f(x)がf(0)<0≦f(1)を満たすときに,区間内でf(x)=0であるxの値…
- 令和7年度 プロジェクトマネージャ試験 午前I 問3異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し、各ブロックの最後尾のデータだけ…
- 令和7年度春期 応用情報技術者試験 午前 問5A,B,Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,データ…
- 令和7年度春期 応用情報技術者試験 午前 問6図の2分探索木に1と0の二つの要素を順に追加したAVL木として,適切なものはどれか。
- 令和7年度秋期 応用情報技術者試験 午前 問6異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し,各ブロックの最後尾のデータだけ…
- 令和7年度春期 応用情報技術者試験 午前 問7fact(n)は,非負の整数nに対してnの階乗を返す。fact(n)の再帰的な定義はどれか。
- 令和7年度秋期 応用情報技術者試験 午前 問7OSSとして公開されているプログラム言語であるScalaの特徴はどれか。
- 令和6年度 プロジェクトマネージャ試験 午前I 問2式 A+B×C の逆ポーランド表記法(後置記法)による表現として適切なものはどれか。
- 令和6年度 プロジェクトマネージャ試験 午前I 問3自然数をキーとするデータを、ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を h(x) = x mod n …
- 令和6年度秋期 応用情報技術者試験 午前 問3式 A+B×C の逆ポーランド表記法による表現として,適切なものはどれか。
- 令和6年度春期 応用情報技術者試験 午前 問5正の整数Mに対して,次の二つの流れ図に示すアルゴリズムを実行したとき,結果xの値が等しくなるようにしたい。aに入れる条件…
- 令和6年度秋期 応用情報技術者試験 午前 問5次の 2 分探索木から要素 12 を削除したとき,その位置に別の要素を移動するだけで 2 分探索木を再構成するには,削除…
- 令和6年度春期 応用情報技術者試験 午前 問6各ノードがもつデータを出力する再帰処理 f(ノード n)を定義した。この処理を,図の2分木の根(最上位のノード)から始め…
- 令和6年度秋期 応用情報技術者試験 午前 問6自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h (x) を h (x) = x m…
- 令和6年度 プロジェクトマネージャ試験 午前I 問7手続型言語のコンパイラがコード生成までに行う処理のうち、最後に行うものはどれか。
- 令和6年度春期 応用情報技術者試験 午前 問7整列方法に関するアルゴリズムの記述のうち,バブルソートの記述はどれか。ここで,整列対象は重複のない1から9の数字がランダ…
- 令和6年度秋期 応用情報技術者試験 午前 問7次の特徴をもつプログラム言語及び実行環境であって,オープンソースソフトウェアとして提供されているものはどれか。〔特徴〕・…
- 令和6年度秋期 応用情報技術者試験 午前 問20手続型言語のコンパイラがコード生成までに行う処理のうち,最後に行うものはどれか。
- 令和5年度 プロジェクトマネージャ試験 午前I 問3あるデータ列を整列したら状態0から順に状態1,2,・・・,Nへと推移した。整列に使ったアルゴリズムはどれか。
- 令和5年度秋期 応用情報技術者試験 午前 問3逆ポーランド表記法(後置記法)で表現されている式 ABCD-×+において,A=16,B=8,C=4,D=2 のときの演算…
- 令和5年度春期 応用情報技術者試験 午前 問5要求に応じて可変量のメモリを割り当てるメモリ管理方式がある。要求量以上の大きさをもつ空き領域のうちで最小のものを割り当て…
- 令和5年度秋期 応用情報技術者試験 午前 問5双方向リストを三つの一次元配列 elem[i],next[i],prev[i] の組で実現する。双方向リストが図の状態の…
- 令和5年度春期 応用情報技術者試験 午前 問6従業員番号と氏名の対がn件格納されている表に線形探索法を用いて,与えられた従業員番号から氏名を検索する。この処理における…
- 令和5年度秋期 応用情報技術者試験 午前 問6あるデータ列を整列したら状態0から順に状態1,2,・・・,N へと推移した。整列に使ったアルゴリズムはどれか。 状態0 …
- 令和5年度春期 応用情報技術者試験 午前 問7配列に格納されたデータ 2,3,5,4,1 に対して,クイックソートを用いて昇順に並べ替える。2回目の分割が終わった状態…
- 令和5年度秋期 応用情報技術者試験 午前 問7JavaScript のオブジェクトの表記法などを基にして規定したものであって,“名前と値との組みの集まり”と“値の順序…
- 令和5年度秋期 応用情報技術者試験 午前 問18あるコンピュータ上で,当該コンピュータとは異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログ…
- 令和5年度春期 応用情報技術者試験 午前 問19ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで,複数のデータが同じハッシュ値になることはないものとする。
- 令和4年度 プロジェクトマネージャ試験 午前I 問3自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x)=x mod n…
- 令和4年度秋期 応用情報技術者試験 午前 問5自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x mod…
- 令和4年度春期 応用情報技術者試験 午前 問5リストには,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれ…
- 令和4年度秋期 応用情報技術者試験 午前 問6未整列の配列 A[i](i=1, 2, …, n)を,次の流れ図によって整列する。ここで用いられる整列アルゴリズムはどれ…
- 令和4年度春期 応用情報技術者試験 午前 問6再入可能プログラムの特徴はどれか。
- 令和4年度秋期 応用情報技術者試験 午前 問7XMLにおいて,XML宣言中で符号化宣言を省略できる文字コードはどれか。
- 令和4年度春期 応用情報技術者試験 午前 問7プログラム言語のうち,ブロックの範囲を指定する方法として特定の記号や予約語を用いず,等しい文字数の字下げを用いるという特…
- 令和3年度 プロジェクトマネージャ試験 午前I 問3バブルソートの説明として,適切なものはどれか。
- 令和3年度秋期 応用情報技術者試験 午前 問5バブルソートの説明として,適切なものはどれか。
- 令和3年度春期 応用情報技術者試験 午前 問5A,B,Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,データ…
- 令和3年度秋期 応用情報技術者試験 午前 問6プログラム特性に関する記述のうち,適切なものはどれか。
- 令和3年度春期 応用情報技術者試験 午前 問6配列A[1],A[2],…,A[n]で,A[1]を根とし,A[i]の左側の子をA[2i],右側の子をA[2i+1]とみな…
- 令和3年度秋期 応用情報技術者試験 午前 問7静的型付けを行うプログラム言語では,コンパイル時に変数名の誤り,誤った値の代入などが発見できる。Webプログラミングで用…
- 令和3年度春期 応用情報技術者試験 午前 問7アルゴリズム設計としての分割統治法に関する記述として,適切なものはどれか。
- 令和3年度春期 応用情報技術者試験 午前 問8次の特徴をもつプログラム言語及び実行環境であって,オープンソースソフトウェアとして提供されているものはどれか。〔特徴〕・…
- 令和2年度 プロジェクトマネージャ試験 午前I 問3オブジェクト指向のプログラム言語であり,クラスや関数,条件文などのコードブロックの範囲はインデントの深さによって指定する…
- 令和2年度秋期 応用情報技術者試験 午前 問3式A+B×Cの逆ポーランド表記法による表現として,適切なものはどれか。
- 令和2年度秋期 応用情報技術者試験 午前 問5ポインタを用いた線形リストの特徴のうち,適切なものはどれか。
- 令和2年度秋期 応用情報技術者試験 午前 問7オブジェクト指向のプログラム言語であり,クラスや関数,条件文などのコードブロックの範囲はインデントの深さによって指定する…
- 令和2年度秋期 応用情報技術者試験 午前 問47次の流れ図において, ①→②→③→⑤→②→③→④→②→⑥ の順に実行させるために,①においてmとnに与えるべき初期値aと…
- 令和元年度 プロジェクトマネージャ試験 午前I 問3次の手順はシェルソートによる整列を示している。データ列7,2,8,3,1,9,4,5,6を手順(1)~(4)に従って整列…
- 令和元年度春期 応用情報技術者試験 午前 問6次の手順はシェルソートによる整列を示している。データ列 7,2,8,3,1,9,4,5,6 を手順(1)~(4)に従って…
- 令和元年度秋期 応用情報技術者試験 午前 問6先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポ…
- 令和元年度春期 応用情報技術者試験 午前 問7JavaScriptの言語仕様のうち,オブジェクトの表記法などの一部の仕様を基にして規定したものであって,"名前と値の組…
- 令和元年度秋期 応用情報技術者試験 午前 問7自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x mod…
- 令和元年度秋期 応用情報技術者試験 午前 問8分割統治を利用した整列法はどれか。
- 平成30年度 プロジェクトマネージャ試験 午前I 問2非負の整数m,nに対して次のとおりに定義された関数Ack(m,n)がある。Ack(1,3)の値はどれか。
- 平成30年度 プロジェクトマネージャ試験 午前I 問3再帰的な処理を実現するためには,再帰的に呼び出したときのレジスタ及びメモリの内容を保存しておく必要がある。そのための記憶…
- 平成30年度秋期 応用情報技術者試験 午前 問4次に示す記述は,BNFで表現されたあるプログラム言語の構文の一部である。<パラメタ指定>として,適切なものはどれか。 <…
- 平成30年度春期 応用情報技術者試験 午前 問5非負の整数m,nに対して次のとおりに定義された関数Ack(m,n)がある。Ack(1,3)の値はどれか。
- 平成30年度秋期 応用情報技術者試験 午前 問6葉以外の節点は全て二つの子をもち,根から葉までの深さが全て等しい木を考える。この木に関する記述のうち,適切なものはどれか…
- 平成30年度春期 応用情報技術者試験 午前 問6異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し,各ブロックの最後尾のデータだけ…