# الگوریتم جستجوی باینری در پایتون
در این آموزش یاد میگیرد که چگونه میتوانیم یک الگوریتم جستجوی دودویی را با استفاده از پایتون برای یافتن موقعیت ایندکس یک آیتم در لیست داده شده اعمال کنیم.
جستجوی دودویی الگوریتمی برای یافتن یک عنصر خاص در لیست است. فرض کنید ما یک لیست از هزار عنصر داریم و باید موقعیت index یک عنصر خاص را بدست آوریم. با استفاده از الگوریتم جستجوی دودویی میتوانیم موقعیت ایندکس آیتم را خیلی سریع پیدا کنیم.
الگوریتم های جستجوی زیادی وجود دارد، اما جستجوی باینری در بین آنها محبوب ترین است.
آیتم های موجود در لیست باید برای اعمال الگوریتم جستجوی دودویی مرتب شوند. اگر عناصر مرتب نشده اند، ابتدا آنها را مرتب کنید.
بیایید این الگوریتم را با استفاده از پایتون پیاده کنیم:
def binary_search(array, query):
lo, hi = 0, len(array) - 1
while lo <= hi:
mid = (hi + lo) // 2
val = array[mid]
if val == query:
return mid
elif val < query:
lo = mid + 1
else:
hi = mid - 1
return None
ارسال نظر