Sobes.tech
Junior — Middle

Cum se determină complexitatea temporală a algoritmului de căutare binară?

sobes.tech AI

Răspuns de la AI

Complexitatea temporală a algoritmului de căutare binară este definită ca O(log n), unde n reprezintă numărul de elemente din array-ul sortat. Acest lucru se datorează faptului că, la fiecare pas, algoritmul împarte zona de căutare în două, reducând numărul de elemente considerate la jumătate, până când găsește elementul căutat sau confirmă absența sa.

Exemplu în Go:

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 // elementul nu a fost găsit
}