Algoritma Panelusuran Biner (Binary Search) ing Java

Algoritma Panelusuran Biner minangka cara sing efisien ing Java pemrograman, digunakake kanggo nemokake nilai tartamtu ing array sing diurutake. Pendekatan iki terus-terusan mbagi array dadi rong bagean lan mbandhingake nilai telusuran karo unsur tengah.

Cara Kerja Algoritma Panelusuran Binary

Algoritma Panelusuran Biner diwiwiti kanthi mbandhingake nilai telusuran karo unsur tengah array. Yen nilai telusuran padha karo unsur tengah, algoritma ngasilake posisi unsur kasebut. Yen nilai telusuran kurang saka unsur tengah, algoritma nerusake telusuran ing sisih kiwa array. Yen nilai panelusuran luwih gedhe, algoritma nerusake telusuran ing setengah tengen array. Proses iki bola-bali nganti nilai telusuran ditemokake utawa ora ana unsur sing bisa digoleki.

Kaluwihan lan Kekurangan Algoritma Panelusuran Biner

Kaluwihan:

  • Efisiensi Dhuwur: Algoritma iki ngilangi setengah saka unsur ing saben langkah, ngoptimalake panelusuran kanggo array gedhe.
  • Kompleksitas Wektu Kurang: Kerumitan wektu algoritma iki yaiku O(log n), dadi efektif kanggo dataset gedhe.

Kekurangan:

  • Kebutuhan Array Diurut: Algoritma mung bisa digunakake karo array sing diurutake.

Tuladha lan Panjelasan

Coba conto nggunakake Algoritma Panelusuran Binary kanggo nemokake integer tartamtu ing array integer sing diurutake ing 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");  
        }  
    }  
}  

Ing conto iki, kita nggunakake Algoritma Panelusuran Binary kanggo nemokake nomer 9 ing array integer sing diurutake. Algoritma kasebut ngliwati array lan mbandhingake nilai telusuran karo nilai tengah. Ing kasus iki, nomer 9 ditemokake ing posisi 4(indeks basis 0) ing array.

Nalika conto iki nduduhake carane Algoritma Panelusuran Biner bisa nemokake unsur ing array integer sing diurutake, bisa uga ditrapake kanggo skenario telusuran liyane ing Java pemrograman.