İkili arama, bir dizide bulunması istenen bir değerin, dizinin ortasından başlayarak yavaş yavaş ikiye bölünmesi yoluyla bulunmasını içeren bir arama yöntemidir. İkili arama, sıralı bir dizide hızlı bir şekilde bir değer bulmak için kullanılabilir.
Yinelemeli yöntem kullanarak ikili arama, aşağıdaki adımlarda gerçekleştirilir:
Dizinin sol ve sağ sınırlarını tanımlayın.
Dizinin ortasındaki değeri bulun.
Eğer bulunan değer, aranılan değerle eşitse, arama işlemi tamamlanır ve bulunan değer döndürülür.
Eğer bulunan değer, aranılan değerden küçükse, sol sınır değeri bulunan değerin sağına kaydırılır.
Eğer bulunan değer, aranılan değerden büyükse, sağ sınır değeri bulunan değerin soluna kaydırılır.
Adımlar 2 ila 5 arasındaki işlem tekrar edilir ve aranılan değer bulunana kadar devam edilir.
Aşağıdaki Python kodu, yinelemeli yöntem kullanarak ikili arama için bir örnek vermektedir:
def binary_search(arr, x): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == x: return mid elif arr[mid] < x: left = mid + 1 else: right = mid - 1 return -1 arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] x = 5 print("Element is present at index", binary_search(arr, x))