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.