خوارزمية البحث متعدد الأهداف (Multi-Target Search) في PHP: استكشاف المفاهيم والأمثلة

يعد البحث متعدد الأهداف خوارزمية مهمة في البرمجة تسمح بالبحث عن قيم متعددة في مجموعة بيانات في وقت واحد. تتناول هذه الخوارزمية قضايا عملية في البرمجة ، مثل البحث عن العناصر التي تفي بشرط ضمن قائمة أو مصفوفة.

عملية الخوارزمية

تعمل خوارزمية البحث متعدد الأهداف عمومًا بشكل مشابه لخوارزمية البحث عن هدف واحد. ومع ذلك ، بدلاً من التوقف بعد العثور على هدف واحد ، فإنه يستمر في البحث للعثور على جميع الأهداف التي تفي بالشرط. الإجراء العام للخوارزمية كالتالي:

  1. كرر خلال كل عنصر في مجموعة البيانات.
  2. تحقق من حالة كل عنصر. إذا كان العنصر يفي بالشرط ، قم بإضافته إلى قائمة النتائج.
  3. استمر في التكرار من خلال العناصر الأخرى للعثور على أهداف أخرى تفي بالشرط.
  4. قم بإرجاع قائمة النتائج التي تحتوي على جميع الأهداف التي تفي بالشرط.

المميزات والعيوب

مزايا:

  • تعد خوارزمية البحث متعددة الأهداف متعددة الاستخدامات وقابلة للتطبيق في مواقف مختلفة.
  • يوفر الوقت والجهد مقارنة بأداء حلقات منفصلة للعثور على كل هدف.

سلبيات:

  • يمكن أن يتأثر أداء الخوارزمية عند التعامل مع مجموعات البيانات الكبيرة وعدد كبير من الأهداف التي تلبي الشرط.
  • قد يؤدي إلى عدم كفاءة الذاكرة عند تخزين قائمة نتائج كبيرة مع العديد من الأهداف.

المثال والشرح

لنفترض أن لدينا قائمة من الأعداد الصحيحة ونريد إيجاد جميع الأعداد المضاعفة للعدد 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(يحتوي على باقي الرقم 0 عند القسمة على 3) ، يتم إضافته إلى قائمة النتائج. في النهاية ، ستحتوي قائمة النتائج على الأرقام 9 و 15 و 12 ، والتي ستتم طباعتها على الشاشة.

لذلك ، تساعدنا خوارزمية البحث متعدد الأهداف في PHP في العثور بسهولة على جميع الأهداف التي تفي بشرط معين داخل مجموعة البيانات ومعالجتها.