बाइनरी खोज एल्गोरिथ्म Java प्रोग्रामिङ मा एक कुशल विधि हो, क्रमबद्ध एरे भित्र एक विशिष्ट मान फेला पार्न प्रयोग गरिन्छ। यो दृष्टिकोणले एर्रेलाई लगातार दुई भागमा विभाजन गर्छ र खोज मानलाई मध्य तत्वसँग तुलना गर्छ।
बाइनरी खोज एल्गोरिथ्म कसरी काम गर्दछ
बाइनरी खोज एल्गोरिथ्म एरेको मध्य तत्वसँग खोज मान तुलना गरेर सुरु हुन्छ। यदि खोज मान मध्य तत्वको बराबर छ भने, एल्गोरिदमले त्यो तत्वको स्थिति फर्काउँछ। यदि खोज मान मध्य तत्व भन्दा कम छ भने, एल्गोरिदमले एरेको बायाँ आधामा खोज जारी राख्छ। यदि खोज मान ठूलो छ भने, एल्गोरिदमले एरेको दायाँ आधामा खोज जारी राख्छ। यो प्रक्रिया खोजी मान फेला नपरेसम्म वा खोज्नका लागि थप तत्वहरू नभएसम्म दोहोर्याउँछ।
बाइनरी खोज एल्गोरिथ्मका फाइदाहरू र हानिहरू
फाइदा:
- उच्च दक्षता: यो एल्गोरिदमले प्रत्येक चरणमा आधा तत्वहरू हटाउँछ, ठूला एरेहरूको खोजीलाई अनुकूलन गर्दछ।
- कम समय जटिलता: यो एल्गोरिदमको समय जटिलता O(log n) हो, यसलाई ठूला डाटासेटहरूको लागि प्रभावकारी बनाउँछ।
बेफाइदाहरू:
- क्रमबद्ध एरे आवश्यकता: एल्गोरिथ्मले क्रमबद्ध एरेहरूसँग मात्र काम गर्दछ।
उदाहरण र व्याख्या
मा क्रमबद्ध पूर्णांक एरे मा एक विशिष्ट पूर्णांक फेला पार्न बाइनरी खोज एल्गोरिथ्म प्रयोग गर्ने उदाहरणलाई विचार गर्नुहोस् Java ।
public class BinarySearchExample {
public static int binarySearch(int[] array, int target) {
int left = 0;
int right = array.length- 1;
while(left <= right) {
int mid = left +(right- left) / 2;
if(array[mid] == target) {
return mid; // Return position if found
} else if(array[mid] < target) {
left = mid + 1;
} else {
right = mid- 1;
}
}
return -1; // Return -1 if not found
}
public static void main(String[] args) {
int[] numbers = { 1, 3, 5, 7, 9, 11, 13, 15 };
int target = 9;
int position = binarySearch(numbers, target);
if(position != -1) {
System.out.println("Element " + target + " found at position " + position);
} else {
System.out.println("Element " + target + " not found in the array");
}
}
}
यस उदाहरणमा, हामी क्रमबद्ध पूर्णांक एरेमा नम्बर 9 फेला पार्न बाइनरी खोज एल्गोरिदम प्रयोग गर्छौं। एल्गोरिदम एरे मार्फत पुनरावृत्ति गर्दछ र मध्य मानसँग खोज मान तुलना गर्दछ। यस अवस्थामा, नम्बर 9 एरेमा स्थिति 4(0-आधारित अनुक्रमणिका) मा पाइन्छ।
जबकि यस उदाहरणले बाइनरी खोज एल्गोरिदमले क्रमबद्ध पूर्णांक एरेमा एक तत्व फेला पार्न सक्छ भनेर देखाउँछ, यो प्रोग्रामिङमा अन्य खोज परिदृश्यहरूमा पनि लागू गर्न सकिन्छ Java ।