बायनरी सर्च क्रमवारीकृत अरेमध्ये शोध श्रेणी वारंवार अर्धे करून लक्ष्य शोधतो. प्रत्येक तुलना उर्वरित घटकांचा अर्धा भाग काढून टाकते, O(log n) वेळ देते.
विचार
मधल्या घटकाकडे पहा. जर ते लक्ष्याच्या बरोबरीचे असेल, तर पूर्ण. जर लक्ष्य लहान असेल, तर डाव्या अर्धा शोधा; जर मोठे असेल, तर उजव्या अर्धा शोधा. जब तक सापडत नाही किंवा श्रेणी रिक्त होत नाही तब तक पुनरावृत्ती करा.
उदाहरण
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
