லீனியர் தேடல் அல்காரிதம் என்பது பட்டியலில் உள்ள ஒரு குறிப்பிட்ட உறுப்பைக் கண்டறியப் பயன்படுத்தப்படும் எளிய முறையாகும். விரும்பிய உறுப்பு கண்டுபிடிக்கப்படும் வரை அல்லது முழு பட்டியலையும் கடந்து செல்லும் வரை பட்டியலில் உள்ள ஒவ்வொரு உறுப்பையும் வரிசையாகச் சரிபார்ப்பதன் மூலம் இந்த அல்காரிதம் செயல்படுகிறது.
எப்படி இது செயல்படுகிறது
- பட்டியலில் முதல் உறுப்பிலிருந்து தொடங்கவும்.
- தற்போதைய உறுப்பை இலக்கு மதிப்புடன் ஒப்பிடுக.
- தற்போதைய உறுப்பு இலக்கு மதிப்பிற்குச் சமமாக இருந்தால், அல்காரிதம் முடிவடைந்து உறுப்பு நிலையைத் தரும்.
- இல்லையெனில், பட்டியலில் உள்ள மீதமுள்ள கூறுகள் மூலம் மீண்டும் மீண்டும் செய்யவும்.
- இலக்கு உறுப்பைக் கண்டறியாமல் முழுப் பட்டியலையும் கடந்து சென்றால், அல்காரிதம் கண்டுபிடிக்கப்படாத மதிப்பை வழங்கும்.
உதாரணமாக
எங்களிடம் முழு எண்களின் பட்டியல் உள்ளது மற்றும் பட்டியலில் 34 என்ற எண்ணைக் கண்டுபிடிக்க வேண்டும் என்று வைத்துக்கொள்வோம்.
பட்டியல்: {12, 45, 67, 89, 34, 56, 23, 90}
- முதல் உறுப்பில் தொடங்கவும்: 12. விரும்பிய எண் அல்ல.
- அடுத்த உறுப்புக்குச் செல்லவும்: 45. விரும்பிய எண் அல்ல.
- மீதமுள்ள உறுப்புகளுடன் தொடரவும்: 67, 89, 34. உறுப்பு 34 விரும்பிய எண்ணுடன் பொருந்துகிறது.
- அல்காரிதம் முடிவடைந்து 34 இன் நிலையைத் திரும்பப் பெறுகிறது, இது 4 ஆகும்.
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;
}
linearSearch
கொடுக்கப்பட்ட எடுத்துக்காட்டில், முழு எண்களின் பட்டியலில் எண் 34 ஐக் கண்டறிய செயல்பாட்டைப் பயன்படுத்தினோம். இதன் விளைவாக பட்டியலில் 34 இன் நிலை(நிலைகள் 0 இலிருந்து தொடங்கும்) அல்லது எண் கிடைக்கவில்லை என்றால் -1 ஆக இருக்கும்.