令和4年度 春期 応用情報技術者試験 午前 問5
リストには、配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として、適切なものはどれか。ここで、配列を用いたリストは配列に要素を連続して格納することによってリストを構成し、ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
-
ア: リストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある。
正しい。配列は固定長の連続したメモリ領域を確保するため、最大要素数分のメモリを事前に割り当てます。実際の要素数が少ない場合でも未使用領域が生じる可能性があります。 -
イ: リストの中間要素を参照するには、リストの先頭から順番に要素をたどっていくことから、要素数に比例した時間が必要となる。
誤り。これはポインタを用いたリスト(リンクリスト)の特徴です。配列では要素への直接アクセスが可能で、ランダムアクセスが行えます。 -
ウ: リストの要素を格納する領域の他に、次の要素を指し示すための領域が別途必要となる。
誤り。これはリンクリストの特徴で、ポインタが各要素を指し示します。配列では次の要素を指し示すポインタは不要です。 -
エ: リストへの挿入位置が分かる場合には、リストにある実際の要素数にかかわらず、要素の挿入を一定時間で行うことができる。
誤り。配列に要素を挿入する場合は、挿入位置以降の要素を移動する必要があり、要素数に比例した時間がかかります。
答え
ア: リストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある。
出典:令和4年度 春期 応用情報技術者試験 午前 問5