Kelių tikslinių paieškos (Multi-Target Search) algoritmas PHP: sąvokų ir pavyzdžių tyrinėjimas

Kelių tikslų paieška yra svarbus programavimo algoritmas, leidžiantis vienu metu ieškoti kelių reikšmių duomenų rinkinyje. Šis algoritmas sprendžia praktines programavimo problemas, tokias kaip elementų, atitinkančių sąrašo arba masyvo sąlygą, paieška.

Algoritmo veikimas

Kelių taikinių paieškos algoritmas paprastai veikia panašiai kaip vieno taikinio paieškos algoritmas. Tačiau, užuot sustojęs radęs vieną taikinį, ji toliau ieško, kad surastų visus sąlygą atitinkančius taikinius. Bendra algoritmo procedūra yra tokia:

  1. Pakartokite kiekvieną duomenų rinkinio elementą.
  2. Patikrinkite kiekvieno elemento būklę. Jei elementas atitinka sąlygą, įtraukite jį į rezultatų sąrašą.
  3. Tęskite kartojimą per kitus elementus, kad surastumėte kitus sąlygą atitinkančius tikslus.
  4. Pateikite rezultatų sąrašą, kuriame yra visi sąlygą atitinkantys tikslai.

Privalumai ir trūkumai

Privalumai:

  • Kelių tikslų paieškos algoritmas yra universalus ir pritaikomas įvairiose situacijose.
  • Tai sutaupo laiko ir pastangų, palyginti su atskirų kilpų atlikimu kiekvienam tikslui surasti.

Trūkumai:

  • Algoritmo našumas gali būti paveiktas dirbant su dideliais duomenų rinkiniais ir dideliu skaičiumi taikinių, kurie atitinka sąlygą.
  • Tai gali sukelti atminties neveiksmingumą, kai saugomas didelis rezultatų sąrašas su daugybe tikslų.

Pavyzdys ir paaiškinimas

Tarkime, kad turime sveikųjų skaičių sąrašą ir norime rasti visus skaičius, kurie šiame sąraše yra 3 kartotiniai. Žemiau pateikiamas kelių tikslų paieškos algoritmo naudojimo PHP pavyzdyje:

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. ";  
}  

Šiame pavyzdyje findMultiplesOfThree funkcija kartojasi per kiekvieną sąrašo skaičių. Jei skaičius dalijasi iš 3(padalijus iš 3 lieka 0), jis įtraukiamas į rezultatų sąrašą. Galiausiai rezultatų sąraše bus skaičiai 9, 15 ir 12, kurie bus atspausdinti ekrane.

Todėl kelių tikslų paieškos algoritmas PHP padeda mums lengvai rasti ir apdoroti visus taikinius, kurie atitinka tam tikrą duomenų rinkinio sąlygą.