Doğrusal arama

Eski bir espride değişik mesleklerin Afrika’da nasıl fil avladığı sorulur. Espriye göre bilgisayarcı aşağıdaki algoritmayı kullanır:

  1. Afrikaya gidilir
  2. En güneyde Ümit burnunda başlanır.
  3. Kuzeye doğru yavaşça ilerlerken kıta doğudan batıya doğru taranır.
  4. Doğudan batıya her taramada aşağıdaki işlemler yapılır:
1. Görülen her hayvan yakalanır.
2. Yakalanan hayvan bilinen bir fil ile karşılaştırılır.
3. Eğer yakaladığımız hayvan fil ise arama biter.

Yazılımlarda sık sık verilen bir listede belli bir elemanın olup olmadığını ararız. Bu işi için de çoğunlukla yukarıdakine benzer algoritmalar kullanırız. Listenin başından başlarız ve her adımda listenin sonuna gelip gelmediğimizi ve o anki elemanın aradığımız eleman olup olmadığını kontrol ederiz. Bu arama işleminde her adımda iki şeyi kontrol ettiğimize dikkatinizi çekmek istiyorum.

  1. Listenin sonuna geldik mi?
  2. O anki eleman aradığımız eleman mı?

Bu meseleyi ilerde tekrar ele alacağım. Şimdilik algoritmanın bu en basit halinin bir sümulasyonunu yapmak istedim. Aşağıdaki linkten simulasyonu deneyebilirsiniz. Simulasyonda aranan sayı 82 olacaktır ve listede bu sayı mevcut. Arama işleminde her adımda yapılan işlemler açıklama alanında gösteriliyor.

Simulasyon linki