Sobes.tech
Junior — Middle

Икілік издөө алгоритмин иштөө принцибин жана негизги кадамдарын түшүндүрүңүз.

sobes.tech AI

AIден жооп

Иккелүү издөө — бул тартиптелген массивде элементти эффективдүү издөө алгоритми. Анын принциби издөө аймагын үзгүлтүксүз бөлүп, издөө маанисин ортодогу элемент менен салыштыруудан турат.

Негизги кадамдар:

  1. Баштапкы чектерди аныктоо: сол жана оң индекстер.
  2. Орто индексті табуу: mid = (left + right) // 2.
  3. Изделүүчү маанини ортодогу элемент менен салыштыруу:
    • Эгер тең болсо, mid индекстин кайтаруу.
    • Эгер кичине болсо, оң чекти mid - 1 кылуу.
    • Эгер чоң болсо, сол чекти mid + 1 кылуу.
  4. 2-3 кадамдарды кайталоо, сол чек оңдон ашпасын.

Эгер элемент табылбаса, мисалы, -1 кайтаруу.

Python мисалы:

def binary_search(arr, target):
    left, right = 0, len(arr) - 1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1
    return -1