Kamis, 23 Agustus 2012

Binary Searching

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:

#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