基本情報技術者試験 - 令和5年12月修了 - 問5
| ア | 要素を更新する場合,ポインタを順番にたどるだけなので,処理時間は短い。 |
|---|---|
| イ | 要素を削除する場合,削除した要素から後ろにある全ての要素を前に移動するので,処理時間は長い。 |
| ウ | 要素を参照する場合,ランダムにアクセスできるので,処理時間は短い。 |
| エ | 要素を挿入する場合,数個のポインタを書き換えるだけなので,処理時間は短い。 |
答え : エ
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
解説 :
「連結リスト」(リンクリスト)とは,データの各要素(ノード)が,次の要素の場所を示すポインタを持つことで,データ全体をつなげていくデータ構造です。配列と比較すると,連結リストの大きな特徴は,要素の挿入や削除がしやすい点にあります。
要素を挿入する場合,挿入する場所の前後にあるノードのポインタの向きを書き換えるだけでよく,他の要素をずらして移動させる必要がないため,処理時間が短くて済みます。正解は「エ」です。
「ア」は,要素を更新する際にポインタを順番にたどるだけとしていますが,更新したい要素にたどり着くまでには,先頭から順にポインタをたどっていく必要があり,目的の要素が後ろの方にあるほど時間がかかります。
「イ」は,要素を削除する際に後ろの要素をすべて前に移動させるとしていますが,これは配列の削除操作の特徴であり,連結リストではポインタの繋ぎ替えだけで済みます。
「ウ」は,要素を参照する際にランダムにアクセスできるとしていますが,これは配列の特徴であり,連結リストでは先頭から順にたどっていく必要があるため,目的の要素に直接アクセスすることはできません。
分野 : テクノロジ系 › 基礎理論 › アルゴリズムとプログラミング › データ構造
解説 :
「連結リスト」(リンクリスト)とは,データの各要素(ノード)が,次の要素の場所を示すポインタを持つことで,データ全体をつなげていくデータ構造です。配列と比較すると,連結リストの大きな特徴は,要素の挿入や削除がしやすい点にあります。
要素を挿入する場合,挿入する場所の前後にあるノードのポインタの向きを書き換えるだけでよく,他の要素をずらして移動させる必要がないため,処理時間が短くて済みます。正解は「エ」です。
「ア」は,要素を更新する際にポインタを順番にたどるだけとしていますが,更新したい要素にたどり着くまでには,先頭から順にポインタをたどっていく必要があり,目的の要素が後ろの方にあるほど時間がかかります。
「イ」は,要素を削除する際に後ろの要素をすべて前に移動させるとしていますが,これは配列の削除操作の特徴であり,連結リストではポインタの繋ぎ替えだけで済みます。
「ウ」は,要素を参照する際にランダムにアクセスできるとしていますが,これは配列の特徴であり,連結リストでは先頭から順にたどっていく必要があるため,目的の要素に直接アクセスすることはできません。