Algoritmul de căutare liniară este o metodă simplă folosită pentru a găsi un anumit element dintr-o listă. Acest algoritm funcționează prin verificarea succesivă a fiecărui element din listă până când este găsit elementul dorit sau este parcursă întreaga listă.
Cum functioneaza
- Începeți de la primul element din listă.
- Comparați elementul curent cu valoarea țintă.
- Dacă elementul curent este egal cu valoarea țintă, algoritmul se încheie și returnează poziția elementului.
- Dacă nu, continuați să repetați elementele rămase din listă.
- Dacă întreaga listă este parcursă fără a găsi elementul țintă, algoritmul returnează o valoare care indică negăsit.
Exemplu
Să presupunem că avem o listă de numere întregi și că vrem să găsim numărul 34 în listă.
Listă: {12, 45, 67, 89, 34, 56, 23, 90}
- Începeți de la primul element: 12. Nu este numărul dorit.
- Treceți la următorul element: 45. Nu este numărul dorit.
- Continuați cu elementele rămase: 67, 89, 34. Elementul 34 se potrivește cu numărul dorit.
- Algoritmul se termină și returnează poziția 34, care este 4.
Exemplu de cod în 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;
}
În exemplul dat, am folosit linearSearch
funcția pentru a găsi numărul 34 în lista de numere întregi. Rezultatul va fi poziția 34 în listă(pozițiile încep de la 0) sau -1 dacă numărul nu este găsit.