Sobes.tech
Middle

Jak funguje binární vyhledávání v seřazeném seznamu?

sobes.tech AI

Odpověď od AI

Binární vyhledávání je algoritmus pro hledání prvku v seřazeném seznamu s logaritmickou složitostí O(log n). Funguje na principu "rozděl a panuj":

  1. Určí se střední prvek seznamu.
  2. Pokud hledaný prvek je roven středu, hledání končí.
  3. Pokud je hledaný prvek menší než střed, pokračuje se v levé polovině seznamu.
  4. Pokud je větší, v pravé polovině.

Proces se opakuje rekurzivně nebo iterativně, dokud se prvek nenajde nebo dokud se nezmění rozsah hledání.

Příklad v 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 // prvek nenalezen
}