Useiden kohteiden (Multiple Targets Search) hakualgoritmi sisään Java

Usean kohteen hakualgoritmi on Java ohjelmoinnin menetelmä, jota käytetään useiden arvojen etsimiseen samanaikaisesti taulukosta tai luettelosta. Tämä lähestymistapa optimoi hakuprosessin ja säästää aikaa etsimällä useita arvoja kerralla.

Kuinka usean kohteen hakualgoritmi toimii

Usean kohteen hakualgoritmi toimii iteroimalla jokaisen taulukon tai luettelon elementin läpi ja vertaamalla niitä haettavien kohdearvojen luetteloon. Jos taulukon elementti vastaa kohdearvoa, se lisätään tulosluetteloon.

Useiden kohteiden hakualgoritmin edut ja haitat

Edut:

  • Hyvä suorituskyky: Tämä algoritmi etsii useita arvoja kerralla, mikä säästää aikaa verrattuna useiden erillisten hakujen suorittamiseen.
  • Monipuolinen: Voidaan käyttää erilaisissa skenaarioissa, jotka vaativat useiden kohteiden etsimistä.

Haitat:

  • Muistin kulutus: Koska tulosluettelo on tallennettava, tämä algoritmi saattaa kuluttaa enemmän muistia yksinkertaisiin hakuun verrattuna.

Esimerkki ja selitys

Harkitse esimerkkiä useiden kohteiden hakualgoritmin käyttämisestä useiden tiettyjen kokonaislukujen etsimiseen kokonaislukutaulukosta 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");  
        }  
    }  
}  

Tässä esimerkissä käytämme Multiple Targets -hakualgoritmia löytääksemme luvut 2 ja 7 kokonaislukutaulukosta. Algoritmi iteroi taulukon läpi ja vertaa jokaista elementtiä kohdearvojen luetteloon. Tässä tapauksessa numero 2 löytyy taulukon paikoista 1 ja 3 ja numero 7 kohdista 2 ja 6.

Vaikka tämä esimerkki osoittaa, kuinka usean kohteen hakualgoritmi voi etsiä useita arvoja kerralla, sitä voidaan soveltaa myös erilaisiin ohjelmoinnin hakuskenaarioihin Java.