Algartam Cuardaigh (Multiple Targets Search) Il-Spriocanna i Java

Is modh Java ríomhchláraithe é an Algartam Cuardaigh Il-Spriocanna a úsáidtear chun illuachanna a chuardach go comhuaineach laistigh d'eagar nó de liosta. Déanann an cur chuige seo an próiseas cuardaigh a bharrfheabhsú agus sábhálann sé am trí luachanna iolracha a chuardach láithreach.

Conas a oibríonn an Algartam Cuardaigh Il-Spriocanna

Oibríonn an Algartam Cuardaigh Il-Spriocanna trí atriall a dhéanamh trí gach eilimint den eagar nó den liosta agus iad a chur i gcomparáid le liosta de na spriocluachanna atá le cuardach. Má mheaitseálann eilimint san eagar luach sprice, cuirtear leis an liosta torthaí í.

Buntáistí agus Míbhuntáistí an Algartam Cuardaigh Il-Spriocanna

Buntáistí:

  • Feidhmíocht Mhaith: Cuardaíonn an algartam seo illuachanna in aon turas amháin, rud a shábhálann am i gcomparáid le cuardach iolrach a dhéanamh.
  • Versatile: Is féidir é a chur i bhfeidhm i gcásanna éagsúla a éilíonn cuardach do spriocanna iolracha.

Míbhuntáistí:

  • Tomhaltas Cuimhne: Mar gheall ar an ngá atá leis an liosta torthaí a stóráil, féadfaidh an algartam seo níos mó cuimhne a ithe i gcomparáid le cuardaigh shimplí.

Sampla agus Míniú

Smaoinigh ar shampla den Algartam Cuardaigh Il-Spriocanna a úsáid chun il slánuimhir shainiúil a aimsiú in eagar slánuimhreacha 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");  
        }  
    }  
}  

Sa sampla seo, úsáidimid an Algartam Cuardaigh Il-Spriocanna chun na huimhreacha 2 agus 7 a fháil laistigh d'eagar slánuimhir. Déanann an t-algartam atriall tríd an eagar agus cuireann sé gach eilimint i gcomparáid le liosta na spriocluachanna. Sa chás seo, faightear an uimhir 2 ag suíomhanna 1 agus 3, agus faightear an uimhir 7 ag suíomhanna 2 agus 6 san eagar.

Cé go léiríonn an sampla seo conas is féidir leis an Algartam Cuardaigh Il-Spriocanna cuardach a dhéanamh ar illuachanna ag an am céanna, is féidir é a chur i bhfeidhm freisin ar chásanna cuardaigh éagsúla sa Java ríomhchlárú.