IPA過去問ドリル

平成24年度 春期 基本情報技術者試験 午前 問7

テクノロジ/アルゴリズム

多数のデータが単方向リスト構造で格納されている。このリスト構造には,先頭ポインタとは別に,末尾のデータを指し示す末尾ポインタがある。次の操作のうち,ポインタを参照する回数が最も多いものはどれか。

出典:平成24年度 春期 基本情報技術者試験 午前 問7

正解:エ

解説

先頭ポインタと末尾ポインタをもつ単方向リストでは,先頭への挿入・削除や末尾への挿入は,先頭ポインタや末尾ポインタを直接使うだけで済み,参照回数は少なくて済みます。しかし末尾のデータを削除する場合は,末尾の一つ前のノードを新しい末尾にする必要があるにもかかわらず,単方向リストには前方向へのポインタがないため,先頭から順に次ノードのポインタを1つずつたどって末尾の直前のノードを探し出さなければならず,参照回数が最も多くなります。

選択肢ごとの解説

  • 誤り。先頭ポインタを使って新しいノードを追加し先頭ポインタを更新するだけで済み,参照回数は少数です。
  • 誤り。先頭ポインタが指すノードを削除して次のノードを新しい先頭にするだけで済み,参照回数は少数です。
  • 誤り。末尾ポインタが指すノードの次に新しいノードをつなぎ末尾ポインタを更新するだけで済み,参照回数は少数です。
  • 正しい。前方向のポインタがないため,先頭から順にたどって末尾の直前のノードを探す必要があり,ポインタの参照回数が最も多くなります。
基本情報技術者の過去問を演習モードで解く