リストには、配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として、適切なものはどれか。ここで、配列を用いたリストは配列に要素を連続して格納することによってリストを構成し、ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。
選択肢
- アリストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある。
- イリストの中間要素を参照するには、リストの先頭から順番に要素をたどっていくことから、要素数に比例した時間が必要となる。
- ウリストの要素を格納する領域の他に、次の要素を指し示すための領域が別途必要となる。
- エリストへの挿入位置が分かる場合には、リストにある実際の要素数にかかわらず、要素の挿入を一定時間で行うことができる。
正解と解説
正解:ア リストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある。
配列でリストを実現すると、要素は連続領域に置かれるため添字による直接アクセスができる反面、あらかじめ最大要素数分の領域を確保しておく必要がある。実際の要素数が少ないときは未使用の領域が無駄になる。挿入・削除では後続要素をずらす必要があり、要素数に比例した時間がかかる点も配列の弱点である。
選択肢ごとの解説
- ア正解。配列は最大個数分の領域を先に確保するため、未使用領域が生じ得る。
- イ先頭からたどる必要があるのはポインタで実現した場合。配列は添字で直接参照できる。
- ウ次要素を指す領域が要るのはポインタ方式の特徴。配列は並び順が位置で決まる。
- エ挿入位置が分かっていても後続をずらす必要があり一定時間にはならない。これはポインタ方式の利点。
この問題に出た用語
同じ分野の他の問題
- 異なるn個のデータが昇順に整列された表がある。この表をm個のデータごとのブロックに分割し、各ブロックの最後尾のデータだけ…2025年度 秋期 問3
- A, B, Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合、デ…2021年度 春期 問2
- 自然数をキーとするデータを、ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を h(x) = x mod n と…2024年度 秋期 問3
- 各ノードがもつデータを出力する再帰処理f(ノード n)を定義した。この処理を、図の2分木の根(最上位のノード)から始めた…2024年度 春期 問3
- あるデータ列を整列したら状態0から順に状態1、2、・・・、Nへと推移した。整列に使ったアルゴリズムはどれか。 状態0 3…2023年度 秋期 問3
出典・参考
最終更新:2026-10-07/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。