Sobes.tech
Junior — Middle

İkili axtarış alqoritminin vaxt mürəkkəbliyi necə müəyyən edilir?

sobes.tech Süni İntellekt

AI-dan cavab

İkili axtarış alqoritminin vaxt mürəkkəbliyi O(log n) olaraq müəyyən edilir, burada n sıralanmış massivdəki elementlərin sayıdır. Bu, hər addımda axtarış sahəsinin ikiyə bölünməsi ilə əlaqədardır, bu da nəzərdən keçirilən elementlərin sayını yarıya endirir, ta ki, axtarılan element tapılsın və ya onun mövcud olmadığı təsdiqlənsin.

Go dilində nümunə:

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 // element tapılmadı
}