第2種情報処理技術者試験 1999年度 = 平成11年度・春期 午前 問26

 次の探索方法のうちで番兵が有効なものはどれか。

 ア 2分探索  イ 線形探索  ウ ハッシュ探索  エ 幅優先探索

解答

 イ

解説

 番兵は、繰返しの終了の判断を簡略化させるための《目印》です。
 線形探索linear search)は、ある特定のキー値をもつ要素を、配列や表の先頭要素から順に探索するアルゴリズムです。
 ここでは、以下の配列を例に解説します。

   ┌─┬─┬─┬─┬─┬─┐    │5│4│1│3│6│2│    └─┴─┴─┴─┴─┴─┘

 この探索における繰返しの判定は、 のいずれかが成立することです。
 ここで、目的とする値を配列の末尾に加えてみましょう。たとえば7を探索する場合は、配列の末尾に7を加えます。

   ┌─┬─┬─┬─┬─┬─┬─┐    │5│4│1│3│6│2││    └─┴─┴─┴─┴─┴─┴─┘

 そうすると、探索の対象に目的とする値が存在することが保証されますので、 この探索における繰返しの判定は、 が成立することに変更できます。すなわち、判定条件が半分になり、高速化が図れます。


BohYoh.comトップページへ