Sobes.tech
Middle

İkili aramanın karmaşıklığı nedir ve neden?

sobes.tech yapay zeka

AI'dan gelen yanıt

İkili arama algoritmasının karmaşıklığı O(log n) olup, burada n sıralanmış dizideki öğe sayısıdır. Bu, algoritmanın her adımda arama alanını yarıya bölmesi ve aranan değeri içermeyen öğelerin yarısını elenmesiyle ilgilidir. Bu nedenle, işlem sayısı giriş verisinin boyutuyla logaritmik olarak artar.

Go dilinde örnek:

func binarySearch(arr []int, target int) int {
    left, right := 0, len(arr)-1
    for left <= right {
        mid := left + (right-left)/2
        if arr[mid] == target {
            return mid
        } else if arr[mid] < target {
            left = mid + 1
        } else {
            right = mid - 1
        }
    }
    return -1 // öğe bulunamadı
}