メインコンテンツへスキップ
応用情報技術者令和5年度 秋期午前5

令和5年度 秋期 応用情報技術者 午前5

難度標準

双方向リストを三つの一次元配列 elem[i], next[i], prev[i]の組で実現する。双方向リストが図の状態のとき、要素Dの次に要素Cを挿入した後のnext[6], prev[6]の値の組合せはどれか。ここで、双方向リストは次のように表現する。

・双方向リストの要素は, elem[i]に値, next[i]に次の要素の要素番号, prev[i]に前の要素の要素番号を設定

・双方向リストの先頭、末尾の要素番号は、それぞれ変数Head, Tailに設定

• next[i], prev[i]の値が0である要素は、それぞれ双方向リストの末尾,先頭を表す。

・双方向リストへの要素の追加は、一次元配列の末尾に追加

選択肢

next[6]: 2, prev[6]: 3
next[6]: 3, prev[6]: 4
next[6]: 5, prev[6]: 3
next[6]: 5, prev[6]: 4

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

ウが正解である理由は、要素Dの次に要素Cを挿入する操作を双方向リストの構造定義に基づいて考えると、配列の末尾に追加された要素6(要素C)のprev(前の要素への参照)は挿入前の要素Dの要素番号に、next(次の要素への参照)は要素Dが元々指していた次の要素の要素番号に設定されるためです。要素Dが指していた次の要素は要素番号5(要素E)であり、要素Dは要素番号3(要素B)が指していました。

詳細Layer 2

アは、要素6のnextが2(要素C)となっているため誤りです。要素Cは配列の末尾に追加された要素6であり、要素Dの次に挿入されるため、要素Dの次の要素(元々要素5)を指す必要があります。

イは、要素6のnextが3(要素B)となっているため誤りです。要素6は要素Dの次に挿入されるため、要素Dが元々指していた要素(要素5)を指すべきであり、要素Bではありません。

エは、要素6のprevが4となっているため誤りです。要素6(要素C)は要素Dの次に挿入されるため、prevは要素Dの要素番号である3ではなく、4(要素D)に設定されるべきです。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「アルゴリズムとプログラミング」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
計算量(O 記法)・基本データ構造・典型アルゴリズム(探索・整列)・再帰の挙動を読む力。
学習の進め方
擬似コードを実際にトレースして変数の遷移を表に書き出す習慣を付ける。スタック/キュー/木の図示が定着の鍵。
関連キーワード
計算量二分探索クイックソート再帰スタックキュー木構造
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

アルゴリズムとプログラミング の他の問題