বাইনারি সার্চ সর্টেড অ্যারেতে কাজ করে। মাঝপথের এলিমেন্টের সাথে টার্গেট তুলনা করে। সমান না হলে 半 অংশ বাদ দিয়ে অন্যাংশে সার্চ চালায়।
কমপ্লেক্সিটি:
| Worst-case performance | O(log n) |
| Best-case performance | O(1) |
| Average performance | O(log n) |
| Worst-case space complexity | O(1) |
ইমপ্লিমেন্টেশন মেথড
public static object BinarySearchDisplay(int[] arr, int key) {
int minNum = 0;
int maxNum = arr.Length - 1;
while (minNum <= maxNum) {
int mid = (minNum + maxNum) / 2;
if (key == arr[mid]) {
return ++mid; // 1-বেসড ইনডেক্স
} else if (key < arr[mid]) {
maxNum = mid - 1;
} else {
minNum = mid + 1;
}
}
return "None";
}
নোট: অ্যারে অবশ্যই সর্টেড থাকতে হবে। C#-এ বিল্ট-ইন Array.BinarySearch() মেথড রয়েছে।