Suchalgorithmus für mehrere Ziele (Multiple Targets Search) in Java

Der Multiple Targets Search-Algorithmus ist eine Methode in Java der Programmierung, mit der nach mehreren Werten gleichzeitig in einem Array oder einer Liste gesucht wird. Dieser Ansatz optimiert den Suchprozess und spart Zeit, indem nach mehreren Werten gleichzeitig gesucht wird.

So funktioniert der Suchalgorithmus für mehrere Ziele

Der Suchalgorithmus für mehrere Ziele funktioniert, indem er jedes Element des Arrays oder der Liste durchläuft und sie mit einer Liste der zu durchsuchenden Zielwerte vergleicht. Wenn ein Element im Array mit einem Zielwert übereinstimmt, wird es zur Ergebnisliste hinzugefügt.

Vor- und Nachteile des Algorithmus zur Suche nach mehreren Zielen

Vorteile:

  • Gute Leistung: Dieser Algorithmus sucht auf einmal nach mehreren Werten und spart so Zeit im Vergleich zur Durchführung mehrerer separater Suchen.
  • Vielseitig: Kann in verschiedenen Szenarien eingesetzt werden, die die Suche nach mehreren Zielen erfordern.

Nachteile:

  • Speicherverbrauch: Aufgrund der Notwendigkeit, die Ergebnisliste zu speichern, verbraucht dieser Algorithmus im Vergleich zu einfachen Suchvorgängen möglicherweise mehr Speicher.

Beispiel und Erklärung

Betrachten Sie ein Beispiel für die Verwendung des Suchalgorithmus für mehrere Ziele, um mehrere bestimmte Ganzzahlen in einem Ganzzahl-Array in zu finden 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");  
        }  
    }  
}  

In diesem Beispiel verwenden wir den Suchalgorithmus für mehrere Ziele, um die Zahlen 2 und 7 in einem ganzzahligen Array zu finden. Der Algorithmus durchläuft das Array und vergleicht jedes Element mit der Liste der Zielwerte. In diesem Fall befindet sich die Zahl 2 an den Positionen 1 und 3 und die Zahl 7 an den Positionen 2 und 6 im Array.

Während dieses Beispiel zeigt, wie der Algorithmus zur Suche nach mehreren Zielen nach mehreren Werten gleichzeitig suchen kann, kann er auch auf verschiedene Suchszenarien in der Java Programmierung angewendet werden.