Sıralı dizide ortadan başlayarak arama alanını yarıya bölen verimli arama algoritması.
Sıralı bir dizide ortadaki elemanı kontrol ederek arama yapan algoritmadır. Her adımda arama alanını yarıya indirir.
binarySearch(arr, target):
left = 0
right = length(arr) - 1
while left <= right:
mid = (left + right) / 2
if arr[mid] == target:
return mid // Bulundu
else if arr[mid] < target:
left = mid + 1 // Sağ yarıda ara
else:
right = mid - 1 // Sol yarıda ara
return -1 // Bulunamadı