Søkealgoritme for flere mål (Multiple Targets Search) i Java

Multiple Targets Search Algorithm er en metode i Java programmering som brukes til å søke etter flere verdier samtidig innenfor en matrise eller liste. Denne tilnærmingen optimerer søkeprosessen og sparer tid ved å søke etter flere verdier samtidig.

Hvordan søkealgoritmen for flere mål fungerer

Multiple Targets Search Algoritmen fungerer ved å iterere gjennom hvert element i matrisen eller listen og sammenligne dem med en liste over målverdier som skal søkes i. Hvis et element i matrisen samsvarer med en målverdi, legges det til resultatlisten.

Fordeler og ulemper med søkealgoritmen for flere mål

Fordeler:

  • God ytelse: Denne algoritmen søker etter flere verdier på en gang, og sparer tid sammenlignet med å utføre flere separate søk.
  • Allsidig: Kan brukes i ulike scenarier som krever søk etter flere mål.

Ulemper:

  • Minneforbruk: På grunn av behovet for å lagre resultatlisten, kan denne algoritmen bruke mer minne sammenlignet med enkle søk.

Eksempel og forklaring

Tenk på et eksempel på bruk av Multiple Targets Search Algorithm for å finne flere spesifikke heltall i en heltallsmatrise i 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");  
        }  
    }  
}  

I dette eksemplet bruker vi Multiple Targets Search Algorithm for å finne tallene 2 og 7 i en heltallsmatrise. Algoritmen itererer gjennom matrisen og sammenligner hvert element med listen over målverdier. I dette tilfellet er tallet 2 funnet på posisjon 1 og 3, og tallet 7 er funnet på posisjon 2 og 6 i matrisen.

Mens dette eksemplet viser hvordan søkealgoritmen for flere mål kan søke etter flere verdier samtidig, kan den også brukes på ulike søkescenarier i Java programmering.