Junior — Middle
Икілік издөө алгоритмин иштөө принцибин жана негизги кадамдарын түшүндүрүңүз.
sobes.tech AI
AIден жооп
Иккелүү издөө — бул тартиптелген массивде элементти эффективдүү издөө алгоритми. Анын принциби издөө аймагын үзгүлтүксүз бөлүп, издөө маанисин ортодогу элемент менен салыштыруудан турат.
Негизги кадамдар:
- Баштапкы чектерди аныктоо: сол жана оң индекстер.
- Орто индексті табуу: mid = (left + right) // 2.
- Изделүүчү маанини ортодогу элемент менен салыштыруу:
- Эгер тең болсо, mid индекстин кайтаруу.
- Эгер кичине болсо, оң чекти mid - 1 кылуу.
- Эгер чоң болсо, сол чекти mid + 1 кылуу.
- 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