يعد البحث متعدد الأهداف خوارزمية مهمة في البرمجة تسمح بالبحث عن قيم متعددة في مجموعة بيانات في وقت واحد. تتناول هذه الخوارزمية قضايا عملية في البرمجة ، مثل البحث عن العناصر التي تفي بشرط ضمن قائمة أو مصفوفة.
عملية الخوارزمية
تعمل خوارزمية البحث متعدد الأهداف عمومًا بشكل مشابه لخوارزمية البحث عن هدف واحد. ومع ذلك ، بدلاً من التوقف بعد العثور على هدف واحد ، فإنه يستمر في البحث للعثور على جميع الأهداف التي تفي بالشرط. الإجراء العام للخوارزمية كالتالي:
- كرر خلال كل عنصر في مجموعة البيانات.
- تحقق من حالة كل عنصر. إذا كان العنصر يفي بالشرط ، قم بإضافته إلى قائمة النتائج.
- استمر في التكرار من خلال العناصر الأخرى للعثور على أهداف أخرى تفي بالشرط.
- قم بإرجاع قائمة النتائج التي تحتوي على جميع الأهداف التي تفي بالشرط.
المميزات والعيوب
مزايا:
- تعد خوارزمية البحث متعددة الأهداف متعددة الاستخدامات وقابلة للتطبيق في مواقف مختلفة.
- يوفر الوقت والجهد مقارنة بأداء حلقات منفصلة للعثور على كل هدف.
سلبيات:
- يمكن أن يتأثر أداء الخوارزمية عند التعامل مع مجموعات البيانات الكبيرة وعدد كبير من الأهداف التي تلبي الشرط.
- قد يؤدي إلى عدم كفاءة الذاكرة عند تخزين قائمة نتائج كبيرة مع العديد من الأهداف.
المثال والشرح
لنفترض أن لدينا قائمة من الأعداد الصحيحة ونريد إيجاد جميع الأعداد المضاعفة للعدد 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 في العثور بسهولة على جميع الأهداف التي تفي بشرط معين داخل مجموعة البيانات ومعالجتها.