過去問解きまくり研究所 ホーム

令和元年度 秋期 午前 問6

アルゴリズム

線形リストに関する問題

先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポインタ又は各データのポインタをたどる回数が最も多いものはどれか。ここで,単方向のリストは先頭ポインタからつながっているものとし,追加するデータはポインタをたどらなくても参照できるものとする。

答えと解説を見る

✓ これが正解エ末尾のデータを削除する処理

解説

末尾を消すには、その一つ前を先頭から探しに行きます。

単方向の線形リストは、それぞれの要素が次の要素だけを指しています。先頭ポインタと末尾ポインタがあるため、両端そのものには一手で届きます。末尾を削除するときは、削除した後に末尾となる要素、つまり一つ手前の要素を新しい末尾として指し直さなければなりません。ところが手前へ戻るつながりを持っていないので、先頭から順に進んで最後の一つ前まで行き着くほかに方法がありません。要素が多いほどたどる回数は増え、比べた四つの中で最も多くなります。残る三つは、いずれも端のポインタとその先を見るだけで済みます。要素数によらず手数が変わらない処理と、要素数に比例して増える処理という分かれ方になっている点が要点です。双方向のつながりにしておけば、この削除も一手で終わり、手数は要素数に左右されなくなります。

ほかの選択肢はなぜ違うのか

出典:令和元年度 秋期 応用情報技術者試験 午前 問6

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)