Algoritma Linear Search (Linear Search) di C++- Penjelasan, Contoh, dan Kode

Algoritma pencarian linier adalah metode sederhana yang digunakan untuk menemukan elemen tertentu dalam daftar. Algoritma ini bekerja dengan memeriksa setiap elemen dalam daftar secara berurutan hingga elemen yang diinginkan ditemukan atau seluruh daftar dilalui.

Bagaimana itu bekerja

  1. Mulai dari elemen pertama dalam daftar.
  2. Bandingkan elemen saat ini dengan nilai target.
  3. Jika elemen saat ini sama dengan nilai target, algoritma berhenti dan mengembalikan posisi elemen.
  4. Jika tidak, lanjutkan iterasi melalui elemen yang tersisa dalam daftar.
  5. Jika seluruh daftar dilalui tanpa menemukan elemen target, algoritme mengembalikan nilai yang menunjukkan tidak ditemukan.

Contoh

Katakanlah kita memiliki daftar bilangan bulat dan kita ingin mencari angka 34 dalam daftar tersebut.

Daftar: {12, 45, 67, 89, 34, 56, 23, 90}

  1. Mulai dari elemen pertama: 12. Bukan angka yang diinginkan.
  2. Pindah ke elemen berikutnya: 45. Bukan angka yang diinginkan.
  3. Lanjutkan dengan elemen yang tersisa: 67, 89, 34. Elemen 34 cocok dengan angka yang diinginkan.
  4. Algoritma berhenti dan mengembalikan posisi 34, yaitu 4.

Contoh Kode di C++

#include <iostream>  
#include <vector>  
  
int linearSearch(const std::vector<int>& arr, int target) {  
    for(int i = 0; i < arr.size(); ++i) {  
        if(arr[i] == target) {  
            return i;  
        }  
    }  
    return -1;  
}  
  
int main() {  
    std::vector<int> numbers = {12, 45, 67, 89, 34, 56, 23, 90};  
    int target = 34;  
  
    int result = linearSearch(numbers, target);  
  
    if(result != -1) {  
        std::cout << "Element " << target << " found at position " << result << std::endl;  
    } else {  
        std::cout << "Element " << target << " not found in the array" << std::endl;  
    }  
  
    return 0;  
}  

Dalam contoh yang diberikan, kami telah menggunakan linearSearch fungsi untuk menemukan angka 34 dalam daftar bilangan bulat. Hasilnya adalah posisi 34 dalam daftar(posisi mulai dari 0) atau -1 jika angka tidak ditemukan.