情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和元年度秋期 午前Ⅰ4: 先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポインタ又は各データのポインタをたどる回数

情報処理安全確保支援士試験 令和元年度秋期 午前Ⅰ
Q 44 / 30
先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポインタ又は各データのポインタをたどる回数が最も多いものはどれか。ここで,単方向のリストは先頭ポインタからつながっているものとし,追加するデータはポインタをたどらなくても参照できるものとする。

問題本文

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

選択肢

  • .先頭にデータを追加する処理
  • .先頭のデータを削除する処理
  • .末尾にデータを追加する処理
  • .末尾のデータを削除する処理

正解

. 末尾のデータを削除する処理

解説

単方向リストでは各ノードが次への一方向ポインタしか持たない。末尾の一つ前のノードのポインタを書き換える必要がある末尾削除では、先頭から末尾の手前まで全ノードをたどる必要があり最も多い。よってエが正解。先頭追加・先頭削除はポインタ操作のみ、末尾追加は末尾ポインタを使えるためたどり不要。データ構造ごとの操作コストの理解は基本である。

選択肢ごとの解説

  • .先頭追加は新ノードを先頭ポインタにつなぐだけで、たどる回数は少なく誤り。
  • .先頭削除は先頭ポインタを次ノードへ移すだけで完了し、たどる必要がなく誤り。
  • .末尾追加は末尾ポインタから直接末尾を参照でき、たどる回数は少ないため誤り。
  • .末尾削除は末尾の前ノードを探すため先頭からほぼ全件たどる必要があり、最も多く正しい。

情報処理安全確保支援士試験 令和元年度秋期 午前Ⅰ過去問一覧へ戻る・問4