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 // элемент табылган жок
}