O algoritmo de pesquisa de múltiplos alvos é um método de Java programação usado para pesquisar vários valores simultaneamente em uma matriz ou lista. Essa abordagem otimiza o processo de pesquisa e economiza tempo ao pesquisar vários valores de uma só vez.
Como funciona o algoritmo de pesquisa de múltiplos alvos
O algoritmo de pesquisa de múltiplos alvos funciona iterando cada elemento da matriz ou lista e comparando-os com uma lista de valores de destino a serem pesquisados. Se um elemento na matriz corresponder a um valor alvo, ele será adicionado à lista de resultados.
Vantagens e desvantagens do algoritmo de pesquisa de múltiplos alvos
Vantagens:
- Bom desempenho: este algoritmo procura vários valores de uma só vez, economizando tempo em comparação com a realização de várias pesquisas separadas.
- Versátil: Pode ser aplicado em diversos cenários que exigem busca de múltiplos alvos.
Desvantagens:
- Consumo de memória: Devido à necessidade de armazenar a lista de resultados, este algoritmo pode consumir mais memória em comparação com pesquisas simples.
Exemplo e explicação
Considere um exemplo de uso do algoritmo de pesquisa de múltiplos alvos para encontrar vários inteiros específicos em uma matriz de inteiros em 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");
}
}
}
Neste exemplo, usamos o algoritmo de pesquisa de múltiplos alvos para encontrar os números 2 e 7 em uma matriz de inteiros. O algoritmo itera pela matriz e compara cada elemento com a lista de valores alvo. Nesse caso, o número 2 é encontrado nas posições 1 e 3, e o número 7 é encontrado nas posições 2 e 6 do array.
Embora este exemplo demonstre como o algoritmo de pesquisa de múltiplos alvos pode pesquisar vários valores de uma vez, ele também pode ser aplicado a vários cenários de pesquisa na Java programação.