平成25年度 秋期 基本情報技術者試験 午前 問6
テクノロジ/アルゴリズムリストは,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれか。
出典:平成25年度 秋期 基本情報技術者試験 午前 問6
- アリストにある実際の要素数にかかわらず,リストの最大長に対応した領域を確保し,実際には使用されない領域が発生する可能性がある。
- イリストにある実際の要素数にかかわらず,リストへの挿入と削除は一定時間で行うことができる。
- ウリストの中間要素を参照するには,リストの先頭から順番に要素をたどっていくので,要素数に比例した時間が必要となる。
- エリストの要素を格納する領域の他に,次の要素を指し示すための領域が別途必要となる。
正解:ア
解説
配列でリストを実現する場合,あらかじめ最大長分の連続した領域を確保しておく必要があります。そのため,実際に格納される要素数がそれより少なければ,使われない領域が生じる可能性があります。挿入・削除は後続要素の移動が必要で一定時間では行えず,中間要素へのアクセスは添字で直接可能なのでポインタ方式のように先頭からたどる必要はありません。
選択肢ごとの解説
- ア正しい。配列は実際の要素数にかかわらず最大長分の領域を確保するため,未使用領域が発生する可能性があります。
- イ誤り。配列では挿入・削除の際に後続要素をずらす必要があり,要素数に応じた時間がかかるため,一定時間では行えません。
- ウ誤り。配列は添字で直接アクセスできるため,中間要素の参照に先頭からたどる必要はなく,これはポインタ方式(リスト構造)の特徴です。
- エ誤り。次要素へのポインタ領域が別途必要になるのはポインタで実現した場合の特徴であり,配列の特徴ではありません。