Merupakan metode terbaik dalam search (pencarian),
karena memulai pencarian dari lokasi tengah (m).
Kemudian berdasarkan posisi tengah tersebut terdapat 3
kemungkinan :
a. Jika cari < data[m], maka informasi yang dicari berada
disebelah kiri dari lokasi tengah (m)
Binary Searching
c. Jika cari > data[m], maka informasi yang dicari berada
disebelah kanan dari lokasi tengah (m)
b. Jika cari = data[m] maka data tengah tersebut adalah
data yang dicari
Contoh Program Binary Searching dalam C++
Kode:
karena memulai pencarian dari lokasi tengah (m).
Kemudian berdasarkan posisi tengah tersebut terdapat 3
kemungkinan :
a. Jika cari < data[m], maka informasi yang dicari berada
disebelah kiri dari lokasi tengah (m)
Binary Searching
c. Jika cari > data[m], maka informasi yang dicari berada
disebelah kanan dari lokasi tengah (m)
b. Jika cari = data[m] maka data tengah tersebut adalah
data yang dicari
Contoh Program Binary Searching dalam C++
Kode:
#include <iostream.h>
#include <conio.h>
char binary_search (char array[],char size,char elemen);
void main()
{
const char size=13;
char array [size]={'A','D','E','H','I','K','L','M','R','S','T','U','Z'};
cout<<"\n Isi dari array :"<<endl;
for(char i=0;i<size;i++)
cout<<" "<<array[i];
char elemen;
char tanda;
cout<<"\n";
cout<<"\n Masukan data yang dicari :" ;
cin>>elemen;
cout<<"\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"\n Data ["<<elemen<<"]
ditemukan pada posisi : array["<<
(tanda!=-1)<<"],"<<" atau deret ke
:"<<(tanda+1);
else
cout<<"\n Data tersebut tidak ditemukan ";
getch();
}
char binary_search(char array[],char size,char elemen)
{
char start=0;
char end=size-1;
char middle;
char posisi=-1;
middle=(start+end )/2;
do
{
if(elemen<array[middle])
end=middle-1;
else if(elemen>array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end
&& array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi; }
Tidak ada komentar:
Posting Komentar