रेखीय शोध अल्गोरिदम ही सूचीमधील विशिष्ट घटक शोधण्यासाठी वापरली जाणारी एक सोपी पद्धत आहे. हा अल्गोरिदम यादीतील प्रत्येक घटक क्रमशः तपासून इच्छित घटक सापडेपर्यंत किंवा संपूर्ण यादी पार होईपर्यंत कार्य करते.
हे कसे कार्य करते
- सूचीतील पहिल्या घटकापासून प्रारंभ करा.
- लक्ष्य मूल्यासह वर्तमान घटकाची तुलना करा.
- वर्तमान घटक लक्ष्य मूल्याच्या बरोबरीचे असल्यास, अल्गोरिदम समाप्त होते आणि घटकाची स्थिती परत करते.
- नसल्यास, सूचीमधील उर्वरित घटकांमधून पुनरावृत्ती सुरू ठेवा.
- लक्ष्य घटक न शोधता संपूर्ण सूची पार केली असल्यास, अल्गोरिदम आढळले नाही असे दर्शवणारे मूल्य देते.
उदाहरण
समजा आमच्याकडे पूर्णांकांची यादी आहे आणि आम्हाला यादीतील ३४ क्रमांक शोधायचा आहे.
सूची: {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 क्रमांक आढळला नाही तर.