একাধিক-আইটেম অনুসন্ধান অ্যালগরিদম একটি তালিকায় একটি নির্দিষ্ট উপাদানের সমস্ত ঘটনা খুঁজে পেতে ব্যবহৃত হয়। একক-আইটেম অনুসন্ধান অ্যালগরিদমের বিপরীতে, এই পদ্ধতিটি লক্ষ্য উপাদানের একাধিক ঘটনার ট্র্যাক রাখে এবং তাদের অবস্থানের একটি তালিকা প্রদান করে।
কিভাবে এটা কাজ করে
- তালিকার শুরু থেকে শুরু করুন।
- তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করুন।
- লক্ষ্য মান সঙ্গে বর্তমান উপাদান তুলনা.
- যদি বর্তমান উপাদান লক্ষ্য মানের সমান হয়, তাহলে তার অবস্থান রেকর্ড করুন।
- পরবর্তী উপাদানে চালিয়ে যান এবং ধাপ 3-4 পুনরাবৃত্তি করুন।
- সম্পূর্ণ তালিকার মাধ্যমে পুনরাবৃত্তি করার পরে, রেকর্ড করা অবস্থানের তালিকাটি ফেরত দিন।
উদাহরণ
আসুন পূর্ণসংখ্যার একটি তালিকা বিবেচনা করি এবং আমরা 23 নম্বরের সমস্ত ঘটনা খুঁজে পেতে চাই।
তালিকা: {12, 23, 45, 23, 56, 23, 89, 90}
- শুরু থেকে শুরু করুন: 12. পছন্দসই সংখ্যা নয়।
- পরবর্তী উপাদানে যান: 23. মিল পাওয়া গেছে, 1 হিসাবে অবস্থান রেকর্ড করুন।
- পরবর্তী উপাদানে যান: 45. পছন্দসই সংখ্যা নয়।
- পরবর্তী উপাদানে যান: 23. মিল পাওয়া গেছে, 3 হিসাবে অবস্থান রেকর্ড করুন।
- পরবর্তী উপাদানে যান: 56. পছন্দসই সংখ্যা নয়।
- পরবর্তী উপাদানে যান: 23. মিল পাওয়া গেছে, 5 হিসাবে অবস্থান রেকর্ড করুন।
- পরবর্তী উপাদানে যান: 89. পছন্দসই সংখ্যা নয়।
- পরবর্তী উপাদানে যান: 90. পছন্দসই সংখ্যা নয়।
- পুনরাবৃত্তি করার পরে, অবস্থানের একটি তালিকা ফেরত দিন: [1, 3, 5]।
C++ এ উদাহরণ কোড
#include <iostream>
#include <vector>
std::vector<int> multipleItemSearch(const std::vector<int>& arr, int target) {
std::vector<int> positions;
for(int i = 0; i < arr.size(); ++i) {
if(arr[i] == target) {
positions.push_back(i);
}
}
return positions;
}
int main() {
std::vector<int> numbers = {12, 23, 45, 23, 56, 23, 89, 90};
int target = 23;
std::vector<int> result = multipleItemSearch(numbers, target);
std::cout << "Occurrences of " << target << " found at positions: ";
for(int pos: result) {
std::cout << pos << ";
}
std::cout << std::endl;
return 0;
}
প্রদত্ত উদাহরণে, multipleItemSearch
ফাংশনটি পূর্ণসংখ্যার তালিকায় 23 নম্বরের সমস্ত উপস্থিতি খুঁজে পেতে ব্যবহৃত হয়। ফলাফলটি একটি ভেক্টর হবে যেখানে সমস্ত ঘটনার অবস্থান রয়েছে(পজিশন 0 থেকে শুরু হয়)।