基本情報技術者試験 過去問解説
データ構造とは?基本情報技術者試験 令和5年度 科目A 問2を解説
基本情報技術者試験 令和5年度 科目A 問2は、データ構造に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
双方向のポインタをもつリスト構造のデータを表に示す。この表において新たな社員 G を社員 A と社員 K の間に追加する。追加後の表のポインタ a〜f の中で追加前と比べて値が変わるポインタだけを全て列記したものはどれか。 【元の表 (社員, アドレス, 次ポインタ, 前ポインタ)】 ・社員 A: アドレス 100, 次 300, 前 0 ・社員 T: アドレス 200, 次 0, 前 300 ・社員 K: アドレス 300, 次 200, 前 100 【追加後 (社員, アドレス, 次, 前)】 ・社員 A: アドレス 100, 次 a, 前 b ・社員 T: アドレス 200, 次 c, 前 d ・社員 K: アドレス 300, 次 e, 前 f ・社員 G: アドレス 400 (新規)
この問題の出題ポイント
- データ構造の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- データ構造分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
選択肢
- アa, b, e, f
- イa, e, f
- ウa, f正解
- エb, e
正解
ウ: a, f
解説
双方向リストで A と K の間に G を挿入する場合、A の次ポインタ(a)を G のアドレス 400 に、K の前ポインタ(f)を 400 に変更する必要があります。T は影響を受けず、G のポインタ x,y は新規追加なので「値が変わる」対象外。変わるのは a と f だけでウが正解。
なぜ他の選択肢が違うのか
ア
b は社員 A の前ポインタですが、A の前は元から 0 で変更されません。e は K の次ポインタですが、これも変わりません。
イ
e(K の次ポインタ)は変わらないので含めるのは誤りです。
ウ(正解)
A の次ポインタ a と K の前ポインタ f だけが新ノード G の挿入により値が変わるため、正解です。
エ
b(A の前ポインタ)と e(K の次ポインタ)はどちらも変更されないため誤りです。
解き方の整理
データ構造の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
令和5年度 科目A の関連する問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。