IPA過去問ドリル

平成22年度 秋期 応用情報技術者試験 午前 問5

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

先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポインタ又は各データのポインタをたどる回数が最も多いものはどれか。ここで,単方向のリストは先頭ポインタからつながっているものとし,追加するデータはポインタをたどらなくても参照できるものとする。

出典:平成22年度 秋期 応用情報技術者試験 午前 問5

正解:エ

解説

単方向の線形リストでは,先頭ポインタから末尾まで順にたどることしかできません。末尾のデータを削除するには,末尾ポインタが指す要素だけでなく,その一つ前の要素(新しい末尾になる要素)を先頭からたどって見つける必要があるため,ポインタをたどる回数が最も多くなります。

選択肢ごとの解説

  • 誤り。先頭に追加する処理は先頭ポインタを更新するだけで済み,たどる回数は少なくて済みます。
  • 誤り。先頭のデータを削除する処理も先頭ポインタを次の要素に更新するだけで済みます。
  • 誤り。末尾ポインタがあるため,末尾への追加は末尾ポインタを使って直接行えます。
  • 正しい。末尾のデータを削除するには新しい末尾となる要素(現在の末尾の一つ前)を特定する必要があり,単方向リストでは先頭から順にたどるしかないため,たどる回数が最も多くなります。
応用情報技術者の過去問を演習モードで解く