C++ में रैखिक खोज (Linear Search) एल्गोरिथम- स्पष्टीकरण, उदाहरण और कोड

रैखिक खोज एल्गोरिदम एक सरल विधि है जिसका उपयोग किसी सूची में किसी विशिष्ट तत्व को खोजने के लिए किया जाता है। यह एल्गोरिदम सूची में प्रत्येक तत्व की क्रमिक रूप से जांच करके काम करता है जब तक कि वांछित तत्व नहीं मिल जाता है या पूरी सूची का पता नहीं चल जाता है।

यह काम किस प्रकार करता है

  1. सूची में पहले तत्व से प्रारंभ करें.
  2. वर्तमान तत्व की तुलना लक्ष्य मान से करें।
  3. यदि वर्तमान तत्व लक्ष्य मान के बराबर है, तो एल्गोरिदम समाप्त हो जाता है और तत्व की स्थिति लौटा देता है।
  4. यदि नहीं, तो सूची में शेष तत्वों के माध्यम से पुनरावृत्ति जारी रखें।
  5. यदि लक्ष्य तत्व को खोजे बिना पूरी सूची को पार किया जाता है, तो एल्गोरिदम एक मान लौटाता है जो दर्शाता है कि नहीं मिला।

उदाहरण

मान लीजिए कि हमारे पास पूर्णांकों की एक सूची है और हम सूची में संख्या 34 खोजना चाहते हैं।

सूची: {12, 45, 67, 89, 34, 56, 23, 90}

  1. पहले तत्व से प्रारंभ करें: 12. वांछित संख्या नहीं।
  2. अगले तत्व पर जाएँ: 45. वांछित संख्या नहीं.
  3. शेष तत्वों के साथ जारी रखें: 67, 89, 34। तत्व 34 वांछित संख्या से मेल खाता है।
  4. एल्गोरिथम समाप्त होता है और 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 यदि संख्या नहीं मिली है।