Algoritmu tat-Tiftix Binarju (Binary Search) fi Java

L-Algoritmu tat-Tiftix Binarju huwa metodu effiċjenti fl Java -ipprogrammar, użat biex jinstab valur speċifiku fi ħdan firxa magħżula. Dan l-approċċ jaqsam kontinwament il-firxa f'żewġ partijiet u jqabbel il-valur tat-tfittxija mal-element tan-nofs.

Kif jaħdem l-Algoritmu tat-Tiftix Binarju

L-Algoritmu tat-Tiftix Binarju jibda billi jqabbel il-valur tat-tfittxija mal-element tan-nofs tal-firxa. Jekk il-valur tat-tfittxija huwa ugwali għall-element tan-nofs, l-algoritmu jirritorna l-pożizzjoni ta 'dak l-element. Jekk il-valur tat-tfittxija huwa inqas mill-element tan-nofs, l-algoritmu jkompli t-tfittxija fin-nofs tax-xellug tal-firxa. Jekk il-valur tat-tfittxija huwa akbar, l-algoritmu jkompli t-tfittxija fin-nofs tal-lemin tal-firxa. Dan il-proċess jirrepeti sakemm jinstab il-valur tat-tfittxija jew ma jkunx hemm aktar elementi biex tfittex.

Vantaġġi u Żvantaġġi tal-Algoritmu tat-Tiftix Binarju

Vantaġġi:

  • Effiċjenza Għolja: Dan l-algoritmu jelimina nofs l-elementi f'kull pass, u jottimizza t-tfittxija għal matriċi kbar.
  • Kumplessità tal-Ħin Baxxa: Il-kumplessità tal-ħin ta 'dan l-algoritmu hija O(log n), li jagħmilha effettiva għal settijiet ta' dejta kbar.

Żvantaġġi:

  • Rekwiżit ta' Array Sort: L-algoritmu jaħdem biss b'arrays magħżula.

Eżempju u Spjegazzjoni

Ikkunsidra eżempju ta' kif tuża l-Algoritmu Binarju ta' Tiftix biex issib numru sħiħ speċifiku f'array ta' numru sħiħ magħżul f' 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");  
        }  
    }  
}  

F'dan l-eżempju, nużaw l-Algoritmu tat-Tiftix Binarju biex insibu n-numru 9 f'firxa ta' numru sħiħ magħżul. L-algoritmu jtenni permezz tal-firxa u jqabbel il-valur tat-tfittxija mal-valur tan-nofs. F'dan il-każ, in-numru 9 jinstab fil-pożizzjoni 4(indiċi bbażat fuq 0) fil-firxa.

Filwaqt li dan l-eżempju juri kif l-Algoritmu tat-Tiftix Binarju jista 'jsib element f'array ta' numru sħiħ magħżul, jista 'jiġi applikat ukoll għal xenarji ta' tfittxija oħra fl- Java ipprogrammar.