Algoritmi linear i kërkimit është një metodë e thjeshtë që përdoret për të gjetur një element specifik në një listë. Ky algoritëm funksionon duke kontrolluar në mënyrë sekuenciale çdo element në listë derisa të gjendet elementi i dëshiruar ose të kalohet e gjithë lista.
Si punon
- Filloni nga elementi i parë në listë.
- Krahasoni elementin aktual me vlerën e synuar.
- Nëse elementi aktual është i barabartë me vlerën e synuar, algoritmi përfundon dhe kthen pozicionin e elementit.
- Nëse jo, vazhdoni të përsërisni elementët e mbetur në listë.
- Nëse e gjithë lista përshkohet pa gjetur elementin e synuar, algoritmi kthen një vlerë që tregon se nuk u gjet.
Shembull
Le të themi se kemi një listë me numra të plotë dhe duam të gjejmë numrin 34 në listë.
Lista: {12, 45, 67, 89, 34, 56, 23, 90}
- Filloni nga elementi i parë: 12. Jo numri i dëshiruar.
- Kaloni te elementi tjetër: 45. Jo numri i dëshiruar.
- Vazhdoni me elementët e mbetur: 67, 89, 34. Elementi 34 përputhet me numrin e dëshiruar.
- Algoritmi përfundon dhe kthen pozicionin 34, që është 4.
Shembull Kodi 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ë shembullin e dhënë, ne kemi përdorur linearSearch
funksionin për të gjetur numrin 34 në listën e numrave të plotë. Rezultati do të jetë pozicioni 34 në listë(pozicionet fillojnë nga 0) ose -1 nëse numri nuk gjendet.