يعد البحث متعدد الأهداف خوارزمية مهمة في البرمجة تسمح بالبحث عن قيم متعددة في مجموعة بيانات في وقت واحد. تتناول هذه الخوارزمية قضايا عملية في البرمجة ، مثل البحث عن العناصر التي تفي بشرط ضمن قائمة أو مصفوفة.
عملية الخوارزمية
تعمل خوارزمية البحث متعدد الأهداف عمومًا بشكل مشابه لخوارزمية البحث عن هدف واحد. ومع ذلك ، بدلاً من التوقف بعد العثور على هدف واحد ، فإنه يستمر في البحث للعثور على جميع الأهداف التي تفي بالشرط. الإجراء العام للخوارزمية كالتالي:
- كرر خلال كل عنصر في مجموعة البيانات.
- تحقق من حالة كل عنصر. إذا كان العنصر يفي بالشرط ، قم بإضافته إلى قائمة النتائج.
- استمر في التكرار من خلال العناصر الأخرى للعثور على أهداف أخرى تفي بالشرط.
- قم بإرجاع قائمة النتائج التي تحتوي على جميع الأهداف التي تفي بالشرط.
المميزات والعيوب
مزايا:
- تعد خوارزمية البحث متعددة الأهداف متعددة الاستخدامات وقابلة للتطبيق في مواقف مختلفة.
- يوفر الوقت والجهد مقارنة بأداء حلقات منفصلة للعثور على كل هدف.
سلبيات:
- يمكن أن يتأثر أداء الخوارزمية عند التعامل مع مجموعات البيانات الكبيرة وعدد كبير من الأهداف التي تلبي الشرط.
- قد يؤدي إلى عدم كفاءة الذاكرة عند تخزين قائمة نتائج كبيرة مع العديد من الأهداف.
المثال والشرح
لنفترض أن لدينا قائمة من الأعداد الصحيحة ونريد إيجاد جميع الأعداد المضاعفة للعدد 3 في هذه القائمة. فيما يلي مثال على استخدام خوارزمية البحث متعدد الأهداف في PHP:
في هذا المثال ، findMultiplesOfThree
تتكرر الدالة عبر كل رقم في القائمة. إذا كان الرقم قابلاً للقسمة على 3(يحتوي على باقي الرقم 0 عند القسمة على 3) ، يتم إضافته إلى قائمة النتائج. في النهاية ، ستحتوي قائمة النتائج على الأرقام 9 و 15 و 12 ، والتي ستتم طباعتها على الشاشة.
لذلك ، تساعدنا خوارزمية البحث متعدد الأهداف في PHP في العثور بسهولة على جميع الأهداف التي تفي بشرط معين داخل مجموعة البيانات ومعالجتها.