كما ذكر الأخوة البديل هو الـ Recursion بحيث يتم إستدعاء الدالة Recursively
لكن مشكلة هذه الطريقة انها مكلفة جدا ، حيث يعتبر الـ Big O لدالة تحتوي على اوامر Linear هو :
O(N^2)*X
حيث X هو عدد مرات إستخدام هذه الدالة
بينما إستخدام الـ Loops الجاهزة فتكلفتها :
O(N)*X
حيث X عدد مرات استخدام هذه النوعية من الـ Loops في البرنامج ( على نفس حجم البيانات N )
فهذه الطريقة كما قال أخي بيشو ، خطوة الى الوراء ، وهذه الطريقة تختلف تماما عن الطرق التي تستخدمها الـ Compilers لتمثيل اوامر الـ Loops .
|