একাধিক-আইটেম অনুসন্ধান অ্যালগরিদম একটি তালিকায় একটি নির্দিষ্ট উপাদানের সমস্ত ঘটনা খুঁজে পেতে ব্যবহৃত হয়। একক-আইটেম অনুসন্ধান অ্যালগরিদমের বিপরীতে, এই পদ্ধতিটি লক্ষ্য উপাদানের একাধিক ঘটনার ট্র্যাক রাখে এবং তাদের অবস্থানের একটি তালিকা প্রদান করে।
কিভাবে এটা কাজ করে
- তালিকার শুরু থেকে শুরু করুন।
- তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করুন।
- লক্ষ্য মান সঙ্গে বর্তমান উপাদান তুলনা.
- যদি বর্তমান উপাদান লক্ষ্য মানের সমান হয়, তাহলে তার অবস্থান রেকর্ড করুন।
- পরবর্তী উপাদানে চালিয়ে যান এবং ধাপ 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++ এ উদাহরণ কোড
প্রদত্ত উদাহরণে, multipleItemSearch
ফাংশনটি পূর্ণসংখ্যার তালিকায় 23 নম্বরের সমস্ত উপস্থিতি খুঁজে পেতে ব্যবহৃত হয়। ফলাফলটি একটি ভেক্টর হবে যেখানে সমস্ত ঘটনার অবস্থান রয়েছে(পজিশন 0 থেকে শুরু হয়)।