(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 নম্বর পাওয়া না গেলে।