خوارزمية البحث عن أهداف متعددة (Multiple Targets Search) في Java

خوارزمية البحث عن أهداف متعددة هي طريقة في 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 البرمجة.