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

平成22年度 秋期 午前 問5

基礎理論

線形リストに関する問題

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

答えと解説を見る

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

解説

単方向リストでは末尾の 1 つ前へ戻る道がありません。

設問は条件を 4 つ与えています。先頭を指すポインタがあること、末尾を指すポインタがあること、各データは次だけを指すこと、そして追加するデータ自体はポインタをたどらなくても参照できることです。この条件のもとで、つないだ先をたどる回数を 4 つの処理ごとに数えます。鍵になるのは、線形リストが次の方向にしか進めないという性質です。ある位置の 1 つ前を知りたくなった瞬間だけ、先頭から歩き直すことになります。末尾を取り除く処理では、取り除いたあとにその 1 つ前を新しい末尾にしなければなりません。ところが後ろから前へ戻る道がないので、先頭から 1 つ前の位置まで順にたどるしかなく、データの個数が増えるほど回数も増えます。これが正解です。ポインタは、その位置に着くのを速くするだけで、その手前が必要になる操作までは速くしません。ここを押さえると、どのポインタが付いていても事情が変わらない処理を見分けられます。

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

出典:平成22年度 秋期 応用情報技術者試験 午前 問5

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