問題
線形探索でtarget=7を{3,5,7,9,11}から探すとfoundは何か。
選択肢
- 1true
- 2false
- 30
- 47
正解
1. true
詳しい解説を見る解説を閉じる
解説
線形探索は配列の先頭から順に目的の値と比較していく探索法である。{3,5,7,9,11}からtarget=7を探すと、1番目の3は不一致、2番目の5は不一致、3番目の7で一致するため、found←trueが設定され、foundはtrueで正解である。falseは配列内にtargetが存在しない場合の値であり、0や7はfoundが真偽値(論理型)の変数であることを無視した誤りである。線形探索の頻出ポイントは①データが整列されていなくても使えること、②平均比較回数は約n/2回・最悪n回で計算量はO(n)であること、③整列済みデータならより高速な二分探索(O(log n))が選択できること、の3点である。一致した時点でループを打ち切るか最後まで走査するかの制御の違いも問われやすい。
一問一答
科目A 180問+科目B 60問