Algoritmus hledání více cílů (Multiple Targets Search) v Java

Algoritmus hledání více cílů je metoda v Java programování používaná k hledání více hodnot současně v poli nebo seznamu. Tento přístup optimalizuje proces vyhledávání a šetří čas hledáním více hodnot najednou.

Jak funguje algoritmus vyhledávání více cílů

Algoritmus hledání více cílů funguje tak, že prochází každý prvek pole nebo seznamu a porovnává je se seznamem cílových hodnot, které mají být prohledány. Pokud prvek v poli odpovídá cílové hodnotě, je přidán do seznamu výsledků.

Výhody a nevýhody algoritmu vyhledávání více cílů

výhody:

  • Dobrý výkon: Tento algoritmus vyhledává více hodnot najednou, což šetří čas ve srovnání s prováděním více samostatných vyhledávání.
  • Univerzální: Lze použít v různých scénářích, které vyžadují hledání více cílů.

Nevýhody:

  • Spotřeba paměti: Vzhledem k nutnosti ukládat seznam výsledků může tento algoritmus spotřebovat více paměti ve srovnání s jednoduchým vyhledáváním.

Příklad a vysvětlení

Zvažte příklad použití vyhledávacího algoritmu pro více cílů k nalezení více konkrétních celých čísel v poli celých čísel v 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");  
        }  
    }  
}  

V tomto příkladu používáme algoritmus vyhledávání více cílů k nalezení čísel 2 a 7 v celočíselném poli. Algoritmus prochází polem a porovnává každý prvek se seznamem cílových hodnot. V tomto případě se číslo 2 nachází na pozicích 1 a 3 a číslo 7 se nachází na pozicích 2 a 6 v poli.

I když tento příklad ukazuje, jak může algoritmus vyhledávání více cílů vyhledávat více hodnot najednou, lze jej také použít na různé scénáře vyhledávání v Java programování.