Algoritma Pencarian (Searching)

 

Algoritma Pencarian (Searching)

Algoritma pencarian atau Searching Algorithm dipakai untuk mengecek suatu elemen atau mengambil sebuah elemen dari suatu struktur data. Secara umum, Searching Algorithm dapat dikategorikan menjadi 2 :

 

1. Sequential Search 

Dalam pencarian suatu elemen, list atau array dilalui secara berurutan dan setiap elemennya diperiksa. Salah satu contohnya adalah Linear Search.

 

Contoh program pencarian metode Sequential Search dengan mencari nilai pada array yang ada di dalam program :

#include <iostream>
int seqSearch(int list[], int start, int bounds, int key);
int main(void){
   int iArray[] = {1706, 30, 45, 60, 90, 42, 1138, 47, 451, 6174, 73};
   int key, returnVal = 0;
   std::cout << "Please enter a value to search for: ";
   std::cin >> key;
   if((returnVal=seqSearch(iArray, 0, sizeof(iArray) / sizeof(int), key))<0){
       std::cout << "Value not found." << std:: endl;
   } else {
       std::cout << "Value found at index " << returnVal << std::endl;
   }
   return 0;
}
int seqSearch(int list[], int start, int bounds, int key){
   while(start < bounds){
       if(list[start]==key){
           return start;
       } else {
           start++;
       }      
   }
   //no match found
   return -1;
}

Output :

Gambar Output Sequential Search

 

2. Interval Search

Dikhususkan untuk mencari struktur data yang sudah terurut. Dalam pencarian, Algoritma tipe ini lebih efisien dibanding Linear Search karena dilakukan dengan terus mengincar titik tengah dari suatu struktur data dan membagi search space-nya menjadi 2.

Salah satu contohnya adalah Binary Search.

 


Subscribe to receive free email updates:

0 Response to "Algoritma Pencarian (Searching)"

Post a Comment