Binary search ایک sorted array میں target کو تلاش کرتا ہے اور بار بار search range کو نصف کرتا ہے۔ ہر موازنہ باقی ماندہ عناصر کا نصف حذف کر دیتا ہے، جس سے O(log n) وقت ملتا ہے۔
نظریہ
درمیانی عنصر کو دیکھیں۔ اگر یہ target کے برابر ہے تو ہو گیا۔ اگر target چھوٹا ہے تو بائیں نصف میں تلاش کریں؛ اگر بڑا ہے تو دائیں نصف میں تلاش کریں۔ جب تک نہ مل جائے یا range خالی نہ ہو جائے دہراتے رہیں۔
مثال
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
