配列と比較した場合の連結リストの特徴に関する記述として,適切なものはどれか。
ア 要素を更新する場合,ポインタを順番にたどるだけなので,処理時間は短い。
イ 要素を削除する場合,削除した要素から後ろにあるすべての要素を前に移動するので,処理時間は長い。
ウ 要素を参照する場合,ランダムにアクセスできるので,処理時間は短い。
エ 要素を挿入する場合,数個のポインタを書き換えるだけなので,処理時間は短い。
【解説】
リスト構造とは、ポインタ型(アドレス指定型)のデータをつないで、全体を操作できるようにしたデータ構造です。
この構造で表現されるデータの並びをリスト(連結リスト)といいます。
連結リストは値の後ろに次の要素のデータ位置を示すへのポインタを付けデータを連結していくデータ構造です。
配列との比較ですが、データの更新や参照は ポインタをたどっていく必要がないため 配列 のほうが高速です。
しかし 要素の挿入・削除は配列は データをすべて移動しなければなりませんので、数個の要素のポインタを 付け替えるだけでできる 連結リスト のほうが高速に処理できます。
しかし 要素の挿入・削除は配列は データをすべて移動しなければなりませんので、数個の要素のポインタを 付け替えるだけでできる 連結リスト のほうが高速に処理できます。
選択肢 イとエは 配列に関する説明です。
選択肢 アの更新の場合、「ポインタを順番にたどる」行動は、配列に比べ処理時間は長くなります。
【解答】エ
