この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

配列でリストを実現する場合、要素を連続したメモリ領域に格納する。このため、配列のサイズをあらかじめ決める必要があり、実際の使用量に関わらず最大個数分の領域を確保しなければならない。その結果、実際には使われない空き領域(メモリの無駄)が発生する可能性がある。これが選択肢aの「リストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある」であり、配列リストの特徴として正しい。一方でインデックスによるランダムアクセスはO(1)と高速で、要素の参照に関しては配列の方が優れている。

なぜ他の選択肢は違うのか

選択肢 イ
「先頭から順番にたどる必要がある」のはポインタ(連結リスト)の特徴。配列では添字によるO(1)のランダムアクセスが可能。
選択肢 ウ
「次の要素を指すポインタ領域が別途必要」なのはポインタを用いたリスト(連結リスト)の特徴。配列では不要。

解くときのポイント

配列リスト=「領域の事前確保(最大サイズ固定)」「ランダムアクセスO(1)」「挿入・削除O(n)」。連結リスト=「動的メモリ確保」「ポインタ追加領域必要」「挿入・削除O(1)」「参照O(n)」。対比して覚える。