다중 대상 검색 (Multiple Targets Search) 알고리즘 Java

Java 다중 대상 검색 알고리즘은 배열이나 목록 내에서 동시에 여러 값을 검색하는 데 사용되는 프로그래밍 방법입니다. 이 접근 방식은 여러 값을 한 번에 검색하여 검색 프로세스를 최적화하고 시간을 절약합니다.

다중 대상 검색 알고리즘의 작동 방식

다중 대상 검색 알고리즘은 배열 또는 목록의 각 요소를 반복하고 이를 검색할 대상 값 목록과 비교하는 방식으로 작동합니다. 배열의 요소가 대상 값과 일치하면 결과 목록에 추가됩니다.

다중 대상 검색 알고리즘의 장점과 단점

장점:

  • 우수한 성능: 이 알고리즘은 한 번에 여러 값을 검색하므로 개별 검색을 여러 번 수행하는 것에 비해 시간이 절약됩니다.
  • 다목적: 여러 대상을 검색해야 하는 다양한 시나리오에 적용할 수 있습니다.

단점:

  • 메모리 소비: 결과 목록을 저장해야 하기 때문에 이 알고리즘은 단순 검색에 비해 더 많은 메모리를 소비할 수 있습니다.

예와 설명

의 정수 배열에서 여러 특정 정수를 찾기 위해 다중 대상 검색 알고리즘을 사용하는 예를 생각해 보세요 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");  
        }  
    }  
}  

이 예에서는 다중 대상 검색 알고리즘을 사용하여 정수 배열 내에서 숫자 2와 7을 찾습니다. 알고리즘은 배열을 반복하고 각 요소를 대상 값 목록과 비교합니다. 이 경우 숫자 2는 배열의 위치 1과 3에서 발견되고 숫자 7은 배열의 위치 2와 6에서 발견됩니다.

이 예에서는 다중 대상 검색 알고리즘이 여러 값을 한 번에 검색할 수 있는 방법을 보여 주지만 Java 프로그래밍의 다양한 검색 시나리오에도 적용할 수 있습니다.