応用情報 午後 問3「最長共通部分列の長さを求めるアルゴリズム」に出てくる用語(令和7年度 秋期)
- 応用情報技術者試験
- 過去問
- アルゴリズム
- 午後
- 更新 2026-11-09
結論
令和7年度 秋期 応用情報技術者試験 午後 問3(プログラミング)に出てくる用語を、1行の説明と解説ページへのリンクで並べたページ。問題文そのものは載せていません。
このページの使い方
令和7年度 秋期 応用情報技術者試験 午後 問3「二つの列の最長共通部分列(Longest Common Subsequence)の長さを求めるアルゴリズム」(出題分野:プログラミング)
著作権はIPA(情報処理推進機構)に帰属します。問題文と解答例は、IPAが公開しているものを参照してください。 このページでは問題文を引用せず、出てくる用語を並べるだけにしています。
この問題に解答群はありません。数値や字句を自分で書く形です。ここでは、問題文を読むのに要る言葉を並べます。
列についての言葉
| 用語 | 1行の説明 |
|---|---|
| 部分列 | 元の列から、順序を保ったままいくつか抜き出した列。抜いた要素は飛ばしてよい |
| 共通部分列 | 2つの列のどちらの部分列にもなっている列 |
| 最長共通部分列(LCS) | 共通部分列のうち、いちばん長いもの。複数あることもあるが、長さは1つに決まる |
「部分列」と「部分文字列」は別物です。 部分文字列は連続した一続きを指しますが、部分列は飛び飛びでかまいません。ここを取り違えると、例の数え方が合わなくなります。
解き方についての言葉
| 用語 | 1行の説明 |
|---|---|
| 再帰 | ある問題を、同じ形の小さな問題に置きかえて解く書き方。自分自身を呼び出す |
| 動的計画法 | 小さな問題の答えを表に記録しておき、同じ計算を繰り返さないやり方 |
| 時間計算量 | 入力の大きさに対して、処理の手数がどう増えるかの見積り。O(オー)記法で書く |
| 二次元配列 | 行と列で位置を指す入れ物。動的計画法の表はこの形で持つ |
この問題の骨はここです。 再帰のままだと同じ計算を何度も行うので、表に書き留めて繰り返しを避けます。表の大きさがそのまま手数になるため、時間計算量は2つの列の長さの積に比例します。
擬似言語についての言葉
| 用語 | 1行の説明 |
|---|---|
| 擬似言語 | 試験で使う、特定の言語によらない書き方。冊子の先頭に記述形式の一覧が付いている |
| for/while | 繰り返しを表す。forは回数が決まっている形、whileは条件が真のあいだ続く形 |
| if/elseif/else | 条件で枝分かれする形。上から順に条件を見て、最初に真になったものを実行する |
擬似言語の記述形式は、問題冊子の最初に必ず載っています。 覚えていなくても、その場で確かめられます。
混ざりやすいところ
| 迷う組 | 分かれ目 |
|---|---|
| 部分列 と 部分文字列 | 飛び飛びでよいか、連続していなければならないか |
| 再帰 と 動的計画法 | 同じ計算を繰り返すか、表に記録して繰り返さないか |
| 最長共通部分列 と その長さ | 列そのものは複数あり得るが、長さは1つに決まる |
問題文と解答例
このページでは問題文を引用していません。問題冊子・解答例・採点講評は、IPAのページで公開されています。
→ 問題冊子・配点割合・解答例・採点講評(2025年度、令和7年度)|IPA