Sobes.tech
Middle

Как работи двоично търсене в сортиран списък?

sobes.tech AI

Отговор от AI

Бинарното търсене е алгоритъм за намиране на елемент в сортиран списък с логаритмична сложност O(log n). Работи по принципа "разделяй и владей":

  1. Определя се средният елемент на списъка.
  2. Ако търсеният елемент е равен на средния, търсенето приключва.
  3. Ако търсеният е по-малък, търсенето продължава в лявата половина на списъка.
  4. Ако е по-голям, в дясната половина.

Процесът се повтаря рекурсивно или итеративно, докато елементът бъде намерен или диапазонът на търсене бъде изчерпан.

Пример на 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 // елемент не е намерен
}