பல இலக்கு தேடல் என்பது நிரலாக்கத்தில் ஒரு முக்கியமான வழிமுறையாகும், இது ஒரே நேரத்தில் தரவுத் தொகுப்பில் பல மதிப்புகளைத் தேட அனுமதிக்கிறது. இந்த அல்காரிதம் நிரலாக்கத்தில் உள்ள நடைமுறைச் சிக்கல்களை நிவர்த்தி செய்கிறது, அதாவது பட்டியல் அல்லது வரிசைக்குள் ஒரு நிபந்தனையைப் பூர்த்தி செய்யும் கூறுகளைக் கண்டறிதல்.
அல்காரிதம் ஆபரேஷன்
மல்டி-இலக்கு தேடல் அல்காரிதம் பொதுவாக ஒரு இலக்கைத் தேடுவதற்கான வழிமுறையைப் போலவே செயல்படுகிறது. இருப்பினும், ஒரு இலக்கைக் கண்டுபிடித்த பிறகு நிறுத்துவதற்குப் பதிலாக, நிபந்தனையைப் பூர்த்தி செய்யும் அனைத்து இலக்குகளையும் தேடுவதைத் தொடர்கிறது. அல்காரிதத்தின் பொதுவான செயல்முறை பின்வருமாறு:
- தரவுத் தொகுப்பில் உள்ள ஒவ்வொரு உறுப்பு வழியாகவும் மீண்டும் செய்யவும்.
- ஒவ்வொரு உறுப்புக்கும் நிலைமையைச் சரிபார்க்கவும். உறுப்பு நிபந்தனையை பூர்த்தி செய்தால், அதை முடிவு பட்டியலில் சேர்க்கவும்.
- நிபந்தனையைப் பூர்த்தி செய்யும் பிற இலக்குகளைக் கண்டறிய மற்ற உறுப்புகள் மூலம் மீண்டும் மீண்டும் செய்யவும்.
- நிபந்தனையைப் பூர்த்தி செய்யும் அனைத்து இலக்குகளையும் கொண்ட முடிவு பட்டியலைத் திருப்பி அனுப்பவும்.
நன்மைகள் மற்றும் தீமைகள்
நன்மைகள்:
- பல இலக்கு தேடல் அல்காரிதம் பல்துறை மற்றும் பல்வேறு சூழ்நிலைகளில் பொருந்தும்.
- ஒவ்வொரு இலக்கையும் கண்டுபிடிக்க தனித்தனி சுழல்களைச் செய்வதோடு ஒப்பிடும்போது இது நேரத்தையும் முயற்சியையும் மிச்சப்படுத்துகிறது.
தீமைகள்:
- பெரிய தரவுத் தொகுப்புகள் மற்றும் நிபந்தனையைப் பூர்த்தி செய்யும் அதிக எண்ணிக்கையிலான இலக்குகளைக் கையாளும் போது அல்காரிதத்தின் செயல்திறன் பாதிக்கப்படலாம்.
- பல இலக்குகளுடன் ஒரு பெரிய முடிவுப் பட்டியலைச் சேமிக்கும் போது இது நினைவாற்றல் திறனின்மைக்கு வழிவகுக்கும்.
எடுத்துக்காட்டு மற்றும் விளக்கம்
எங்களிடம் முழு எண்களின் பட்டியல் உள்ளது என்று வைத்துக்கொள்வோம், இந்த பட்டியலில் 3 இன் பெருக்கல்கள் உள்ள அனைத்து எண்களையும் கண்டுபிடிக்க வேண்டும். PHP இல் பல இலக்கு தேடல் அல்காரிதத்தைப் பயன்படுத்துவதற்கான எடுத்துக்காட்டு கீழே உள்ளது:
function findMultiplesOfThree($numbers) {
$result = array();
foreach($numbers as $number) {
if($number % 3 === 0) {
$result[] = $number; // Add the satisfying number to the result list
}
}
return $result;
}
$numbers = array(9, 4, 15, 7, 12, 6);
$multiplesOfThree = findMultiplesOfThree($numbers);
echo "Numbers that are multiples of 3 in the list are: ";
foreach($multiplesOfThree as $number) {
echo $number. ";
}
இந்த எடுத்துக்காட்டில், findMultiplesOfThree
செயல்பாடு பட்டியலில் உள்ள ஒவ்வொரு எண்ணிலும் மீண்டும் மீண்டும் வருகிறது. ஒரு எண்ணை 3 ஆல் வகுத்தால்(3 ஆல் வகுக்கும் போது 0 மீதி இருக்கும்), அது முடிவு பட்டியலில் சேர்க்கப்படும். இறுதியில், முடிவு பட்டியலில் 9, 15 மற்றும் 12 எண்கள் இருக்கும், அவை திரையில் அச்சிடப்படும்.
எனவே, PHP இல் உள்ள பல-இலக்கு தேடல் அல்காரிதம், தரவுத் தொகுப்பில் கொடுக்கப்பட்ட நிபந்தனையை பூர்த்தி செய்யும் அனைத்து இலக்குகளையும் எளிதாகக் கண்டறிந்து செயலாக்க உதவுகிறது.