Programlama Ve Algoritmalar Deneme Sınavı Sorusu #750902
Elemanları [45 12 31 23 1 5 32 15 3 23 88 ] olan bir dizide ikili arama yöntemiyle önce 31 daha sonra 3 aranmaktadır. Bu işlemler için toplamda kaç karşılaştırma yapmak gerekir?
2 |
3 |
4 |
8 |
Sonsuz sayıda |
Sıralanmamış bir diziyi ikili arama yöntemiyle kullanmak ikili aramanın mantığına ters olacaktır. Sonuçta aranılan eleman dizi içerisinde olsa bile bulunmama ihtimali yüksektir. Soruda da her ne kadar gerek 31 gerek 3 dizi içerisinde yer alsa da bunlar algoritma tarafından bulunamayacaklardır. 31 aradığımızı düşünelim. Önce dizinin ortası 5 ile karşılaştırma yapılacak ve 5 in sağ tarafındaki dizi elemanları içerisinde 31 aranacak. İkinci kez 15 ile karşılaştırma yapılacak ve 15 in sağındaki elemanlarla bir defa daha karşılaştırma olacak ve sayı 3 ile karşılaştırılıp 3ün yanındaki sayı olan 23 ile bir defa daha karşılaştırma yapılacak. Sonuçta 4 karşılaştırmadan sonra elemanın dizide olmadığına karar verilecek. 3 için de aynı yöntemle 4 karşılaştırma neticesinde dizide olmadığına kanaat getirilecek. Sonuçta 4+4 = 8 karşılaştırma yapılmış olacak.
Yorumlar
- 0 Yorum