Binary Search / Pencarian Biner
Binary Search adalah algoritma pencarian yang lebih efisien daripada algorima Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun menurun.
Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam ilmu komputer. 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. Sebuah pencarian biner adalah salah satu contoh dari algoritma divide and conquer (atau lebih khusus algoritma decrease and conquer) dan sebuah pencarian dikotomi (lebih rinci di Algoritma pencarian).
Contoh Programnya :
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include <iostream.h>Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include <conio.h>
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<<endl;
for(int i=0;i<size;i++)
cout<<" "<<array[i];
int elemen;
int tanda;
cout<<"\n\n";
cout<<"Masukkan data yang dicari: ";
cin>>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<<elemen<<" ditemukan pada posisi : array["<<
tanda<<"],"<<" atau deret ke-"<<(tanda+1);
else
cout<<"\n data tersebut tidak ditemukan ";
getch();
}
int binary_search(int array[],int size,int elemen)
{
int start=0;
int end=size - 1;
int middle;
int 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;
}
Terima kasih
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.c
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.c
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Tidak ada komentar:
Posting Komentar