बाइनरी खोज (Binary Search) एल्गोरिदम मा Java

बाइनरी खोज एल्गोरिथ्म 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 ।