BINARY SEARCH By(SeptianFs)

13:26 Pemrograman Web 0 Comments



BINARY SEARCH

Binary Search(Pencarian Biner) adalah salah satu algoritma mendasar dalam ilmu komputer. Untuk menjelajahinya, kita pertama akan membangun tulang punggung teoritis, kemudian menggunakannnya untuk menerapkan algoritma dengan benar dan menghindari kesalahan.

Menemukan nilai dalam urutan yang di urutkan.
Dalam bentuk yang paling sederhana, pencarian biner digunakan untuk cepat menemukan nilai dalam urutan yang diurutkan. Kita akan memanggil pencarian untuk nilai nilai target kejelasan. Pencarian biner mempertahankan subsequence berdekatan dari urutan awal yang mana nila target terletak pasti. Ini disebut ruang pencarian. Ruang pencarian adalah awalnya seluruh urutan. Di setiap langkah algoritma membandingkan nilai rata-rata di ruang pencarian untuk nilai target. Berdasarkan perbandingan karena urutan diurutkan, kemudian dapat menghilangkan setengah dari ruang pencarian. Dengan melakukan ini berulang kali, akhirnya akan dapat dengan ruangan pencarian yang terdiri dari satu elemen nilai target.

Sebagai contoh, pertimbangan urutan berikut bilangan bulat yang diurutkan dalam urutan menaik dan akan mencari nilai nomor 55:
0 5 13 19 22 41 55 68 72 81 98
Kami tertarik pada lokasi nilai target dalam urutan sehingga kita akan mewakili ruang pencarian sebagai indek ke urutan. Pada awalna, ruang pencarian berisi indek sampai 11. Karena pencarian benar-benar selang waktu, iti sudah cukup hanya untuk menyimpan 2 angka. Indeks yang rendah dan tinggi. Seperti dijelaskan diatas, kita sekarang memilih nilai rata-rata, yang merupakkan nilai indeks 6 (titik tengah antara 1 dan 11) nilai ini adalah 41 atau lebih kecil daripada nilai target. Dari ini kita menyimpulkan tidak hanya bahwa elemen di indeks 6 bukanlah nilai target. Tetapi juga bahwa tidak ada unsur di indek antara 1 dan 5 dapat nilai target. Karena semua elemen di indeks ini lebih kecil dari 41, ynag lebih kecil dari nilai target. Hal ini membawa ruang pencarian ke indeks 7 sampai 11
55 68 72 81 98
Melanjutkan denga cara yang sama, kami memotong separuh kedua ruang pencarian dan kiri dengan:
55 68
Tergantung bagai mana kita memilih median bahkan jumlah elemen baik kita akan menemukan  55 di langkah berikutnya atau memotong dari 68 untuk mendapat ruang pencarian hanya satu elemen. Bagaimanapun, kami menyimpulkan bahwa indeks mana nilai target terletak adalah 7

Mengambil lebih lanjut: Teorema Utama
Ketika anda mengalami masalah yang anda pikir bisa diselesaikan dengan menerapkan pecarian biner atau binary search. Anda perlu beberapa cara membuktikan itu akan bekerja. Sekarang akan hadir tingkat lain abstraksi yang aka memungkinkan kita untuk memecahkan lebih banyak masalah, untuk membuktikan biner. Cari solusi yang sangat mudah dan juga membantu mengimplementasikannya.
Pertimbangan predikat yang ditetapkan selama beberapa set teratur S(ruang pencarian). Ruang pencarian terdiri dari calon solusi masalah. Dalam artikel ini, predikat adalah fungsi yang mengembalikan nilaai boolean. True atau false. Disini juga menggunakan predikat untuk memverifikasi jika calon solusi hi=ukum menurut definisi masalahnya.

CONTOH SOURCE CODE

#include <iostream>
#include <conio.h>
using namespace std;
int main(){
 const int Arr[10] = {1,2,3,4,5,6,7,8,9,10};
 int bst;

cout<<"Masukan Data Yang Akan Dicari : ";
 cin>>bst;
int NilaiAwal=0, NilaiAkhir=10, NilaiTengah;

 while (NilaiAwal <= NilaiAkhir)
  { NilaiTengah = (NilaiAwal + NilaiAkhir)/2;
  if (bst > Arr[NilaiTengah] )
      { NilaiAwal = NilaiTengah + 1; }
  else if (bst < Arr[NilaiTengah])
  { NilaiAkhir = NilaiTengah - 1;}
  else { NilaiAwal = NilaiAkhir +1;
  }
   }
   if (bst == Arr[NilaiTengah])
   {cout<<" Target Data ditemukan, Ke- "<< NilaiTengah +1<<endl;
   }
   else {
    cout<<"Data target tidak ditemukan "<<endl;
   }
getch();
}

OUTPUT
Masukan Data Yang Akan Dicari : 5
 Target Data ditemukan, Ke- 5

Masukan Data Yang Akan Dicari : 11
Data target tidak ditemukan






Source code bisa di lihat di link dibawah ini:
Klik disini


Plagiarism Checked


By.Septian Firmansyah

0 komentar: