Sobes.tech
Middle

Ikki tomonlama qidiruvning murakkabligi nima va nima uchun?

sobes.tech AI

AIdan javob

Ikki qidirish murakkabligi O(log n), bu yerda n tartiblangan massivdagi elementlar sonidir. Bu, har bir bosqichda qidiruv maydonini yarmiga bo‘lish va qidirilayotgan qiymatni o‘z ichiga olmaydigan elementlarning yarmisini rad etish bilan bog‘liq. Shunday qilib, operatsiyalar soni kirish ma'lumotlarining hajmiga logarifmik ravishda o‘sadi.

Go tilida misol:

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 topilmadi
}