Algoritma Carian Pelbagai Sasaran (Multiple Targets Search) dalam Java

Algoritma Carian Sasaran Berbilang ialah kaedah dalam Java pengaturcaraan yang digunakan untuk mencari berbilang nilai secara serentak dalam tatasusunan atau senarai. Pendekatan ini mengoptimumkan proses carian dan menjimatkan masa dengan mencari berbilang nilai sekaligus.

Cara Algoritma Carian Pelbagai Sasaran Berfungsi

Algoritma Carian Pelbagai Sasaran berfungsi dengan mengulangi setiap elemen tatasusunan atau senarai dan membandingkannya dengan senarai nilai sasaran untuk dicari. Jika elemen dalam tatasusunan sepadan dengan nilai sasaran, ia ditambahkan pada senarai hasil.

Kelebihan dan Kelemahan Algoritma Carian Pelbagai Sasaran

Kelebihan:

  • Prestasi Baik: Algoritma ini mencari berbilang nilai sekali gus, menjimatkan masa berbanding melakukan berbilang carian berasingan.
  • Serbaguna: Boleh digunakan dalam pelbagai senario yang memerlukan pencarian berbilang sasaran.

Kelemahan:

  • Penggunaan Memori: Disebabkan keperluan untuk menyimpan senarai hasil, algoritma ini mungkin menggunakan lebih banyak memori berbanding carian mudah.

Contoh dan Penerangan

Pertimbangkan contoh menggunakan Algoritma Carian Sasaran Berbilang untuk mencari berbilang integer tertentu dalam tatasusunan integer dalam 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");  
        }  
    }  
}  

Dalam contoh ini, kami menggunakan Algoritma Carian Sasaran Berbilang untuk mencari nombor 2 dan 7 dalam tatasusunan integer. Algoritma melelaran melalui tatasusunan dan membandingkan setiap elemen dengan senarai nilai sasaran. Dalam kes ini, nombor 2 ditemui pada kedudukan 1 dan 3, dan nombor 7 ditemui pada kedudukan 2 dan 6 dalam tatasusunan.

Walaupun contoh ini menunjukkan bagaimana Algoritma Carian Sasaran Berbilang boleh mencari berbilang nilai sekaligus, ia juga boleh digunakan pada pelbagai senario carian dalam Java pengaturcaraan.