Binary search एक सॉर्ट किए हुए सरणी में लक्ष्य को खोजता है, खोज श्रेणी को बार-बार आधा करके। प्रत्येक तुलना शेष तत्वों के आधे को हटाती है, O(log n) समय देती है।
विचार
मध्य तत्व को देखें। यदि यह लक्ष्य के बराबर है, तो हो गया। यदि लक्ष्य छोटा है, तो बाईं ओर खोजें; यदि बड़ा है, तो दाईं ओर खोजें। जब तक न मिल जाए या श्रेणी खाली न हो जाए, तब तक दोहराएं।
उदाहरण
():
lo, hi = , (arr) -
lo <= hi:
mid = (lo + hi) //
arr[mid] == target:
mid
arr[mid] < target:
lo = mid +
:
hi = mid -
-
binary_search([, , , , ], )
