Middle
Kako funkcioniše binarna pretraga u sortiranoj listi?
sobes.tech АИ
Одговор од АИ
Binarna pretraga je algoritam za pronalaženje elementa u sortiranoj listi sa logaritamskom složenošću O(log n). Radi po principu "podeli i osvoji":
- Određuje se srednji element liste.
- Ako je traženi element jednak srednjem, pretraga se završava.
- Ako je traženi element manji od srednjeg, pretraga se nastavlja u levom delu liste.
- Ako je veći, u desnom delu.
Proces se ponavlja rekurzivno ili iterativno dok se element ne pronađe ili dok se ne potroši opseg pretrage.
Primer u 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 // element nije pronađen
}