Kërkimi me shumë synime është një algoritëm i rëndësishëm në programim që lejon kërkimin e vlerave të shumta në një grup të dhënash në të njëjtën kohë. Ky algoritëm trajton çështje praktike në programim, si gjetja e elementeve që plotësojnë një kusht brenda një liste ose një grupi.
Operacioni i algoritmit
Algoritmi i kërkimit me shumë synime në përgjithësi funksionon në mënyrë të ngjashme me algoritmin për kërkimin e një objektivi të vetëm. Megjithatë, në vend që të ndalet pasi të gjejë një objektiv të vetëm, ai vazhdon kërkimin për të gjetur të gjitha objektivat që plotësojnë kushtin. Procedura e përgjithshme e algoritmit është si më poshtë:
- Përsëriteni përmes secilit element në grupin e të dhënave.
- Kontrolloni gjendjen për secilin element. Nëse elementi plotëson kushtin, shtoni atë në listën e rezultateve.
- Vazhdoni të përsërisni nëpër elementë të tjerë për të gjetur objektiva të tjerë që plotësojnë kushtin.
- Ktheni listën e rezultateve që përmban të gjitha objektivat që plotësojnë kushtin.
Avantazhet dhe disavantazhet
Përparësitë:
- Algoritmi i kërkimit me shumë synime është i gjithanshëm dhe i zbatueshëm në situata të ndryshme.
- Ai kursen kohë dhe përpjekje në krahasim me kryerjen e sytheve të veçanta për të gjetur çdo objektiv.
Disavantazhet:
- Performanca e algoritmit mund të ndikohet kur kemi të bëjmë me grupe të mëdha të dhënash dhe një numër të madh objektivash që plotësojnë kushtin.
- Mund të çojë në joefikasitet të kujtesës kur ruani një listë të madhe rezultatesh me shumë objektiva.
Shembull dhe shpjegim
Le të supozojmë se kemi një listë me numra të plotë dhe duam të gjejmë të gjithë numrat që janë shumëfish të 3 në këtë listë. Më poshtë është një shembull i përdorimit të algoritmit të kërkimit me shumë synime në 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. ";
}
Në këtë shembull, findMultiplesOfThree
funksioni përsëritet përmes secilit numër në listë. Nëse një numër pjesëtohet me 3(ka mbetje 0 kur pjesëtohet me 3), ai i shtohet listës së rezultateve. Në fund të fundit, lista e rezultateve do të përmbajë numrat 9, 15 dhe 12, të cilët do të printohen në ekran.
Prandaj, algoritmi i kërkimit me shumë synime në PHP na ndihmon të gjejmë dhe përpunojmë lehtësisht të gjitha objektivat që plotësojnë një kusht të caktuar brenda një grupi të dhënash.