Algoritem iskanja več ciljev (Multiple Targets Search) v Java

Algoritem iskanja po več ciljih je metoda v Java programiranju, ki se uporablja za iskanje več vrednosti hkrati znotraj matrike ali seznama. Ta pristop optimizira postopek iskanja in prihrani čas z iskanjem več vrednosti hkrati.

Kako deluje algoritem iskanja več ciljev

Algoritem iskanja po več ciljih deluje tako, da ponavlja vsak element matrike ali seznama in jih primerja s seznamom ciljnih vrednosti, ki jih je treba preiskati. Če se element v matriki ujema s ciljno vrednostjo, je dodan na seznam rezultatov.

Prednosti in slabosti algoritma iskanja po več ciljih

Prednosti:

  • Dobra zmogljivost: ta algoritem išče več vrednosti naenkrat, kar prihrani čas v primerjavi z izvajanjem več ločenih iskanj.
  • Vsestranski: Lahko se uporablja v različnih scenarijih, ki zahtevajo iskanje več ciljev.

Slabosti:

  • Poraba pomnilnika: zaradi potrebe po shranjevanju seznama rezultatov lahko ta algoritem porabi več pomnilnika v primerjavi s preprostim iskanjem.

Primer in razlaga

Razmislite o primeru uporabe algoritma iskanja po več ciljih za iskanje več specifičnih celih števil v matriki celih števil 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 tem primeru uporabljamo algoritem iskanja po več ciljih, da poiščemo številki 2 in 7 v matriki celih števil. Algoritem iterira skozi matriko in primerja vsak element s seznamom ciljnih vrednosti. V tem primeru je število 2 na mestih 1 in 3, število 7 pa na mestih 2 in 6 v matriki.

Čeprav ta primer prikazuje, kako lahko algoritem iskanja po več ciljih išče več vrednosti hkrati, ga je mogoče uporabiti tudi za različne scenarije iskanja v Java programiranju.