平成22年度 秋期 応用情報技術者試験 午前 問5
テクノロジ/アルゴリズム先頭ポインタと末尾ポインタをもち,多くのデータがポインタでつながった単方向の線形リストの処理のうち,先頭ポインタ,末尾ポインタ又は各データのポインタをたどる回数が最も多いものはどれか。ここで,単方向のリストは先頭ポインタからつながっているものとし,追加するデータはポインタをたどらなくても参照できるものとする。
出典:平成22年度 秋期 応用情報技術者試験 午前 問5
- ア先頭にデータを追加する処理
- イ先頭のデータを削除する処理
- ウ末尾にデータを追加する処理
- エ末尾のデータを削除する処理
正解:エ
解説
単方向の線形リストでは,先頭ポインタから末尾まで順にたどることしかできません。末尾のデータを削除するには,末尾ポインタが指す要素だけでなく,その一つ前の要素(新しい末尾になる要素)を先頭からたどって見つける必要があるため,ポインタをたどる回数が最も多くなります。
選択肢ごとの解説
- ア誤り。先頭に追加する処理は先頭ポインタを更新するだけで済み,たどる回数は少なくて済みます。
- イ誤り。先頭のデータを削除する処理も先頭ポインタを次の要素に更新するだけで済みます。
- ウ誤り。末尾ポインタがあるため,末尾への追加は末尾ポインタを使って直接行えます。
- エ正しい。末尾のデータを削除するには新しい末尾となる要素(現在の末尾の一つ前)を特定する必要があり,単方向リストでは先頭から順にたどるしかないため,たどる回数が最も多くなります。