(Linear Search) C++ માં લીનિયર સર્ચ અલ્ગોરિધમ- સમજૂતી, ઉદાહરણ અને કોડ

રેખીય શોધ અલ્ગોરિધમ એ એક સરળ પદ્ધતિ છે જેનો ઉપયોગ સૂચિમાં ચોક્કસ તત્વ શોધવા માટે થાય છે. આ અલ્ગોરિધમ સૂચિમાંના દરેક ઘટકને ક્રમિક રીતે તપાસીને કામ કરે છે જ્યાં સુધી ઇચ્છિત તત્વ ન મળે અથવા સમગ્ર સૂચિને પાર ન કરવામાં આવે.

તે કેવી રીતે કામ કરે છે

  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 જો નંબર ન મળે તો.