Többcélú keresési (Multiple Targets Search) algoritmus Java

A Multiple Targets Search Algorithm egy olyan Java programozási módszer, amellyel egy tömbön vagy listán belül egyszerre több értéket keresnek. Ez a megközelítés optimalizálja a keresési folyamatot, és időt takarít meg azáltal, hogy egyszerre több értéket keres.

Hogyan működik a Többcélú keresési algoritmus

A Többcélú keresési algoritmus úgy működik, hogy a tömb vagy lista minden egyes elemét iterálja, és összehasonlítja azokat a keresendő célértékek listájával. Ha a tömb egy eleme egyezik egy célértékkel, akkor hozzáadódik az eredménylistához.

A többcélú keresési algoritmus előnyei és hátrányai

Előnyök:

  • Jó teljesítmény: Ez az algoritmus egyszerre több értéket keres, így időt takarít meg a több külön kereséshez képest.
  • Sokoldalú: Különféle forgatókönyvekben alkalmazható, amelyek több célpont keresését igénylik.

Hátrányok:

  • Memóriafogyasztás: Az eredménylista tárolásának szükségessége miatt ez az algoritmus több memóriát fogyaszthat az egyszerű keresésekhez képest.

Példa és magyarázat

Tekintsen egy példát a Többcélú keresési algoritmus használatára, hogy több adott egész számot keressen egy egész szám tömbben a -ban 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");  
        }  
    }  
}  

Ebben a példában a Többcélú keresési algoritmust használjuk, hogy megkeressük a 2-es és 7-es számokat egy egész tömbön belül. Az algoritmus végigfut a tömbön, és minden elemet összehasonlít a célértékek listájával. Ebben az esetben a 2-es szám az 1. és 3. pozícióban, a 7-es pedig a 2. és 6. pozícióban található a tömbben.

Míg ez a példa bemutatja, hogy a Többcélú keresési algoritmus hogyan tud egyszerre több értéket keresni, a programozás különböző keresési forgatókönyveire is alkalmazható Java.