Sökalgoritm för flera mål (Multiple Targets Search) i Java

Multiple Targets Search Algorithm är en metod inom Java programmering som används för att söka efter flera värden samtidigt inom en matris eller lista. Detta tillvägagångssätt optimerar sökprocessen och sparar tid genom att söka efter flera värden samtidigt.

Hur sökalgoritmen för flera mål fungerar

Sökalgoritmen för flera mål fungerar genom att iterera genom varje element i arrayen eller listan och jämföra dem med en lista över målvärden som ska sökas. Om ett element i arrayen matchar ett målvärde läggs det till i resultatlistan.

Fördelar och nackdelar med sökalgoritmen för flera mål

Fördelar:

  • Bra prestanda: Den här algoritmen söker efter flera värden på en gång, vilket sparar tid jämfört med att utföra flera separata sökningar.
  • Mångsidig: Kan användas i olika scenarier som kräver sökning efter flera mål.

Nackdelar:

  • Minnesförbrukning: På grund av behovet av att lagra resultatlistan kan denna algoritm förbruka mer minne jämfört med enkla sökningar.

Exempel och förklaring

Tänk på ett exempel på hur du använder sökalgoritmen för flera mål för att hitta flera specifika heltal i en heltalsmatris 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");  
        }  
    }  
}  

I det här exemplet använder vi sökalgoritmen för flera mål för att hitta siffrorna 2 och 7 inom en heltalsmatris. Algoritmen itererar genom arrayen och jämför varje element med listan över målvärden. I det här fallet hittas siffran 2 vid positionerna 1 och 3, och siffran 7 hittas vid positionerna 2 och 6 i arrayen.

Även om det här exemplet visar hur sökalgoritmen för flera mål kan söka efter flera värden samtidigt, kan den också tillämpas på olika sökscenarier i Java programmering.