Pages

Saturday 24 December 2016

Problem 64 - Binary Search

  Binary search adalah sebuah algoritma pencarian dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu dalam sebuah larik (array) linear. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama. Pencarian Biner (Binary Search) dilakukan untuk :
  • Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar ukurannya. 
  • Beban komputasi juga lebih kecil karena pencarian dilakukan dari depan, belakang, dan tengah. 
  • Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan). 
  • Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut.
Contoh Code di bawah ini
DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. import java.util.Arrays;
  2.  
  3. public class BinarySearchIntArray{
  4.  
  5.   public static void main(String[] args) {
  6.     int intArray[] = {1,2,4,5};
  7.    
  8.     Arrays.sort(intArray);
  9.    
  10.     int searchValue = 2;
  11.    
  12.     int intResult = Arrays.binarySearch(intArray,searchValue);
  13.     System.out.println("Result of binary search of 2 is : " + intResult);
  14.    
  15.     searchValue = 3;
  16.     intResult = Arrays.binarySearch(intArray,searchValue);
  17.     System.out.println("Result of binary search of 3 is : " + intResult);
  18.  
  19.   }
  20. }
Disini Sayan membuat urutan angka 1,2,4,5
Disini kita cari angka 2 ternyata berada di array ke-1 karena kita mulai dari array-0
dan Disini saya cari angka 3 karena 3 tidak ada dalam array maka akan keluar output -3

0 comments:

Post a Comment