ایک سے زیادہ اہداف تلاش (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 پروگرامنگ میں تلاش کے مختلف منظرناموں پر بھی کیا جا سکتا ہے۔