Middle
Как работи двоично търсене в сортиран списък?
sobes.tech AI
Отговор от AI
Бинарното търсене е алгоритъм за намиране на елемент в сортиран списък с логаритмична сложност O(log 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 // елемент не е намерен
}