பல இலக்குகள் தேடல் (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.