Çoklu Hedef Arama (Multiple Targets Search) Algoritması Java

Java Çoklu Hedef Arama Algoritması, bir dizi veya liste içinde aynı anda birden fazla değeri aramak için kullanılan bir programlama yöntemidir. Bu yaklaşım, arama sürecini optimize eder ve aynı anda birden fazla değeri arayarak zamandan tasarruf sağlar.

Çoklu Hedef Arama Algoritması Nasıl Çalışır?

Çoklu Hedef Arama Algoritması, dizi veya listenin her bir öğesini yineleyerek ve bunları aranacak hedef değerler listesiyle karşılaştırarak çalışır. Dizideki bir öğe hedef değerle eşleşiyorsa sonuç listesine eklenir.

Çoklu Hedef Arama Algoritmasının Avantajları ve Dezavantajları

Avantajları:

  • İyi Performans: Bu algoritma tek seferde birden fazla değeri arar ve birden fazla ayrı arama gerçekleştirmeye kıyasla zaman tasarrufu sağlar.
  • Çok yönlü: Birden fazla hedefin aranmasını gerektiren çeşitli senaryolarda uygulanabilir.

Dezavantajları:

  • Bellek Tüketimi: Sonuç listesini saklama ihtiyacı nedeniyle bu algoritma, basit aramalara kıyasla daha fazla bellek tüketebilir.

Örnek ve Açıklama

içindeki bir tamsayı dizisinde birden çok belirli tamsayıyı bulmak için Çoklu Hedef Arama Algoritmasını kullanmanın bir örneğini düşünün 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");  
        }  
    }  
}  

Bu örnekte, bir tam sayı dizisi içindeki 2 ve 7 sayılarını bulmak için Çoklu Hedef Arama Algoritmasını kullanıyoruz. Algoritma dizi boyunca yinelenir ve her öğeyi hedef değerler listesiyle karşılaştırır. Bu durumda dizide 1 ve 3 numaralı konumlarda 2 sayısı, 2 ve 6 numaralı konumlarda ise 7 sayısı bulunur.

Bu örnek, Çoklu Hedef Arama Algoritmasının aynı anda birden fazla değeri nasıl arayabileceğini gösterse de, programlamadaki çeşitli arama senaryolarına da uygulanabilir Java.