Algorytm wyszukiwania wielu celów (Multiple Targets Search) w Java

Algorytm wyszukiwania wielu celów to metoda Java programistyczna używana do jednoczesnego wyszukiwania wielu wartości w tablicy lub liście. Takie podejście optymalizuje proces wyszukiwania i oszczędza czas, wyszukując wiele wartości jednocześnie.

Jak działa algorytm wyszukiwania wielu celów

Algorytm wyszukiwania wielu obiektów docelowych polega na iterowaniu każdego elementu tablicy lub listy i porównywaniu ich z listą wartości docelowych do przeszukania. Jeśli element w tablicy pasuje do wartości docelowej, jest dodawany do listy wyników.

Zalety i wady algorytmu wyszukiwania wielu celów

Zalety:

  • Dobra wydajność: Algorytm ten wyszukuje wiele wartości za jednym razem, oszczędzając czas w porównaniu do wykonywania wielu oddzielnych wyszukiwań.
  • Wszechstronny: można go zastosować w różnych scenariuszach wymagających wyszukiwania wielu celów.

Niedogodności:

  • Zużycie pamięci: Ze względu na konieczność przechowywania listy wyników algorytm ten może zużywać więcej pamięci w porównaniu do prostych poszukiwań.

Przykład i wyjaśnienie

Rozważmy przykład użycia algorytmu wyszukiwania wielu obiektów docelowych do znalezienia wielu określonych liczb całkowitych w tablicy liczb całkowitych w programie 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");  
        }  
    }  
}  

W tym przykładzie używamy algorytmu wyszukiwania wielu celów, aby znaleźć liczby 2 i 7 w tablicy liczb całkowitych. Algorytm iteruje po tablicy i porównuje każdy element z listą wartości docelowych. W tym przypadku liczba 2 znajduje się na pozycjach 1 i 3, a liczba 7 znajduje się na pozycjach 2 i 6 w tablicy.

Chociaż ten przykład pokazuje, jak algorytm wyszukiwania wielu celów może wyszukiwać wiele wartości jednocześnie, można go również zastosować do różnych scenariuszy wyszukiwania w Java programowaniu.