(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.