মাল্টিপল টার্গেট সার্চ অ্যালগরিদম হল Java প্রোগ্রামিং এর একটি পদ্ধতি যা একটি অ্যারে বা তালিকার মধ্যে একসাথে একাধিক মান অনুসন্ধান করতে ব্যবহৃত হয়। এই পদ্ধতিটি অনুসন্ধান প্রক্রিয়াকে অপ্টিমাইজ করে এবং একসাথে একাধিক মান অনুসন্ধান করে সময় বাঁচায়।
কিভাবে একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদম কাজ করে
একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদম অ্যারে বা তালিকার প্রতিটি উপাদানের মাধ্যমে পুনরাবৃত্তি করে এবং অনুসন্ধান করা লক্ষ্য মানের একটি তালিকার সাথে তাদের তুলনা করে কাজ করে। যদি অ্যারের একটি উপাদান একটি লক্ষ্য মানের সাথে মেলে, এটি ফলাফল তালিকায় যোগ করা হয়।
একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদমের সুবিধা এবং অসুবিধা
সুবিধাদি:
- ভাল পারফরম্যান্স: এই অ্যালগরিদমটি একাধিক মান অনুসন্ধান করে, একাধিক পৃথক অনুসন্ধান সম্পাদনের তুলনায় সময় বাঁচায়।
- বহুমুখী: বিভিন্ন পরিস্থিতিতে প্রয়োগ করা যেতে পারে যার জন্য একাধিক লক্ষ্য অনুসন্ধানের প্রয়োজন হয়।
অসুবিধা:
- মেমরি খরচ: ফলাফলের তালিকা সংরক্ষণ করার প্রয়োজনের কারণে, এই অ্যালগরিদম সাধারণ অনুসন্ধানের তুলনায় বেশি মেমরি খরচ করতে পারে।
উদাহরণ এবং ব্যাখ্যা
একটি পূর্ণসংখ্যা অ্যারেতে একাধিক নির্দিষ্ট পূর্ণসংখ্যা খুঁজে পেতে একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদম ব্যবহার করার একটি উদাহরণ বিবেচনা করুন Java ।
import java.util.ArrayList;
import java.util.List;
public class MultipleTargetsSearchExample {
public static List<Integer> multipleTargetsSearch(int[] array, int[] targets) {
List<Integer> results = new ArrayList<>();
for(int target: targets) {
for(int i = 0; i < array.length; i++) {
if(array[i] == target) {
results.add(i); // Add position to results if found
}
}
}
return results;
}
public static void main(String[] args) {
int[] numbers = { 4, 2, 7, 2, 9, 5, 7 };
int[] targets = { 2, 7 };
List<Integer> positions = multipleTargetsSearch(numbers, targets);
if(!positions.isEmpty()) {
System.out.println("Targets found at positions: " + positions);
} else {
System.out.println("Targets not found in the array");
}
}
}
এই উদাহরণে, আমরা একটি পূর্ণসংখ্যা অ্যারের মধ্যে 2 এবং 7 নম্বরগুলি খুঁজে পেতে একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদম ব্যবহার করি। অ্যালগরিদম অ্যারের মাধ্যমে পুনরাবৃত্তি করে এবং লক্ষ্য মানের তালিকার সাথে প্রতিটি উপাদানের তুলনা করে। এই ক্ষেত্রে, 2 নম্বরটি 1 এবং 3 অবস্থানে এবং 7 নম্বরটি অ্যারের 2 এবং 6 অবস্থানে পাওয়া যায়।
যদিও এই উদাহরণটি দেখায় যে কিভাবে একাধিক লক্ষ্য অনুসন্ধান অ্যালগরিদম একসাথে একাধিক মান অনুসন্ধান করতে পারে, এটি প্রোগ্রামিংয়ের বিভিন্ন অনুসন্ধান পরিস্থিতিতেও প্রয়োগ করা যেতে পারে Java ।