Junior — Middle
Magyarázza el a bináris keresőalgoritmus működési elvét és fő lépéseit.
sobes.tech MI
Válasz az MI-től
A bináris keresés hatékony algoritmus egy elem keresésére rendezett tömbben. Elve az, hogy a keresési területet sorozatosan felére osztjuk, és összehasonlítjuk a keresett értéket a középső elemmel.
Fő lépések:
- Határozza meg a keresés kezdeti határait: bal és jobb indexek.
- Keresse meg a középső indexet: mid = (left + right) // 2.
- Hasonlítsa össze a keresett értéket a mid-i elemmel.
- Ha egyenlőek, adja vissza a mid indexet.
- Ha a keresett érték kisebb, mozgassa a jobb határt mid - 1-re.
- Ha nagyobb, mozgassa a bal határt mid + 1-re.
- Ismételje meg a 2-3 lépést, amíg a bal határ nem haladja meg a jobb határt.
Ha az elem nem található, adjon vissza például -1-et.
Python példával:
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