移動式のブログ

ガジェット、アニメ、プログラミング、考えたことその他色々・・・特にこれといったテーマはないカオスなブログです。

線形探索 アルゴリズム

基本的なアルゴリズムに「線形探索」というものがある。
このアルゴリズムはデータの先頭から順番に探したいデータを調べていくやり方だ。



f:id:idoushiki:20170716181327p:plain



Javascriptソースコード

上のソースコードでは、"5"を探すことになっている。

"5"をa[N]の中から探す場合

探したい値"5"をbに代入する。

whileのループに入ったら、a[i]の値とbの値が同じになるまでiを1ずつ増やしていく。

a[0]a[1]....a[i]と探していき、a[2]になったときにa[i]とbの値が一致するので、whileから抜け出す。

そして、if文で、a[i]のiが4未満なら"5"を探したことに成功したことになるので、a[i]を出力する。

a[N]のなかにbが存在しない場合
bに100を代入したとすると、a[i]の中に入っている値が100になるまでiが増えていく。
しかし、今回のa[N]のなかに100は存在しないのでiがNの値を超えるので、ループから抜け出す。
条件の分岐でiがNの数を超えているので、「失敗」になる。