令和4年度 春期 午前 問5
基礎理論
リストを配列で実現した場合の特徴
リストには,配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として,適切なものはどれか。ここで,配列を用いたリストは配列に要素を連続して格納することによってリストを構成し,ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。
- アリストにある実際の要素数にかかわらず,リストに入れられる要素の最大個数に対応した領域を確保し,実際には使用されない領域が発生する可能性がある。
- イリストの中間要素を参照するには,リストの先頭から順番に要素をたどっていくことから,要素数に比例した時間が必要となる。
- ウリストの要素を格納する領域の他に,次の要素を指し示すための領域が別途必要となる。
- エリストへの挿入位置が分かる場合には,リストにある実際の要素数にかかわらず,要素の挿入を一定時間で行うことができる。
答えと解説を見る
✓ これが正解アリストにある実際の要素数にかかわらず,リストに入れられる要素の最大個数に対応した領域を確保し,実際には使用されない領域が発生する可能性がある。
解説
最大個数ぶんを先に確保する側の特徴です。
設問は、リストを配列で実現した場合の特徴に当たる記述を、四つの中から選ばせています。配列で作るリストは要素を連続した領域に並べるので、置き場所が先に決まっている作りです。これに対してポインタで作るリストは、要素と次の要素へのポインタの組を鎖のようにつないでいくので、置き場所を後から足していける作りです。ですから見分けの軸は、その記述が置き場所を先に決める側の性質を述べているのか、後から足していく側の性質を述べているのか、という一点だけです。正解の記述は、実際の要素数にかかわらず入れられる最大個数に対応した領域を確保するため、使用されない領域が発生する可能性がある、というものです。連続して並べる以上、上限の個数ぶんの場所をあらかじめ押さえておかなければならないので、これは配列で実現した側の性質になります。
ほかの選択肢はなぜ違うのか
- イリストの中間要素を参照するには,リストの…:中間の要素を参照するために先頭から順番にたどる必要があるという記述です。鎖のようにつないだ作りの弱点であり、連続して並べてあれば添字で目的の位置へ直接飛べます。
- ウリストの要素を格納する領域の他に,次の要…:次の要素を指し示すための領域が別途必要になるという記述です。次の要素へのポインタを持つのは鎖でつなぐ側の作りで、連続して並べる場合は置かれた位置そのものが順序を表します。
- エリストへの挿入位置が分かる場合には,リス…:挿入位置が分かっていれば要素数によらず一定時間で挿入できるという記述です。つなぎ替えるだけで済むのは鎖でつなぐ側で、連続して並べる場合は後ろの要素を全部ずらす必要があります。
出典:令和4年度 春期 応用情報技術者試験 午前 問5
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)