Programlama Ve Algoritmalar Deneme Sınavı Sorusu #745761

Elemanları [1 3 4 5 6 7 8] olan dizi üzerinde ikili arama algoritmasıyla 6 rakamı kaçıncı karşılaştırmada bulunur?


2

1

3

4

Bulunamaz


Yanıt Açıklaması:

İkili arama, sıralı diziler üzerinde arama yapmak için kullanılan bir algoritmadır. Üzerinde arama yapılacak olan dizi sıralı durumda değilse, bu algoritmanın doğru çalışabilmesi için öncelikle dizinin sıralı hale getirilmesi gerekir. İkili arama algoritması çalışmaya başladığında, ilk olarak dizinin ilk ve son elemanlarının konumları tespit edilir. Bu bilgilerden faydalanılarak orta elemanın konumu hesaplanır. Daha sonra, aranan eleman dizinin orta elemanıyla karşılaştırılır ve ikisinin eşit olup olmadığına bakılır. Aranan eleman orta elemana eşit ise arama başarılı bir şekilde sonlandırılır. Aksi takdirde, aranan elemanın dizinin orta elemanından küçük veya büyük olma durumu incelenir. Aranan eleman orta elemandan büyük ise, aramaya orta eleman ile son eleman arasındaki dizi elemanları ile devam edilir. Tam tersi durum söz konusu ise, aramaya ilk eleman ile dizinin orta elemanı arasındaki dizi elemanları ile devam edilir. Bu işlem her tekrar edildiğinde ilk, orta veya son

elemanların konumlarının değişmesi söz konusu olabilir. Soruda verilen dizi sıralıdır. Ilk karşılaştırmada 5 bulunur 5’in sağ tarafından devam edilir 7 bulunur 7’nin sol tarafında 6 değerine ulaşılır. 

Yorumlar
  • 0 Yorum