रैखिक खोज एल्गोरिथ्म एक सरल विधि हो जुन सूचीमा एक विशिष्ट तत्व फेला पार्न प्रयोग गरिन्छ। यो एल्गोरिदमले क्रमबद्ध रूपमा सूचीमा प्रत्येक तत्व जाँच गरेर इच्छित तत्व फेला पर्दैन वा सम्पूर्ण सूची पार नगरेसम्म काम गर्दछ।
यो कसरी काम गर्दछ
- सूचीको पहिलो तत्वबाट सुरु गर्नुहोस्।
- हालको तत्वलाई लक्ष्य मानसँग तुलना गर्नुहोस्।
- यदि हालको तत्वले लक्ष्य मान बराबर छ भने, एल्गोरिदम समाप्त हुन्छ र तत्वको स्थिति फर्काउँछ।
- यदि होइन भने, सूचीमा बाँकी तत्वहरू मार्फत पुनरावृत्ति जारी राख्नुहोस्।
- यदि सम्पूर्ण सूची लक्ष्य तत्व फेला नपाइकन पार गरिएको छ भने, एल्गोरिदमले फेला परेन भनी संकेत गर्ने मान फर्काउँछ।
उदाहरण
मानौं हामीसँग पूर्णांकहरूको सूची छ र हामी सूचीमा नम्बर 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।