في البرمجة ، وحدة برنامج أو روتين فرعي يستدعي نفسه لإجراء عملية تكرارية ؛ بمعنى آخر ، يكرر التعبير الصافي نفسه لتحقيق عملية أكثر تعقيدًا.
يتم توضيح مبدأ العودية من خلال أرقام فيبوناتشي ، وهي سلسلة أرقام يكون فيها أول مصطلحين 1 ؛ يتم إعطاء المصطلحات المتتالية عن طريق جمع المصطلحين السابقين (1 ، 1 ، 2 ، 3 ، 5 ، 8 ، 13 ، 21 ، 34 ، 55 ، 89 ، 144 ، إلخ). يمكن إنشاء أرقام فيبوناتشي بالمعادلة التالية ، طالما أن n أكبر من 2: فيبوناتشي («) = فيبوناتشي (« - 1) + فيبوناتشي (ن - 2).
يشرح Technipages العودية
العودية هي طريقة لحل المشكلات في البرمجة ، حيث يتم تقسيم المشكلة إلى وحدات أصغر من المشكلات وحلها بشكل فردي. لذا فإن الحل الأول يعتمد على الحلول الأصغر التي يتم الحصول عليها من المشكلات الصغيرة. العودية تساعد في حل المشكلة ، حيث يتم حل السؤال وفقًا لشروطه.
من الأفضل توضيحها بدمى ماتريوشكا الروسية ، وهي مجموعة من الدمى مغلفة بدمية أكبر ؛ كل قطعة من الدمية هي نسخة طبق الأصل مباشرة من الدمية التالية أو السابقة باستثناء الأصغر. لذا فإن كل دمية هي نسخة صغيرة أو أكثر أهمية من الأخرى. تعتمد البرمجة التكرارية على هذا المبدأ الذي يتم من خلاله معالجة المشكلة عن طريق تقسيمها إلى مشاكل بسيطة أكثر.
يمكن إرجاع العودية إلى عام 1958 ، كان John McCarthy أول من استخدم مبدأ Recursion في البرمجة ، ويمكن العثور على هذا في عمله على LISP. كانت LISP أول لغة برمجة تتميز بالوظائف العودية كما لدينا اليوم. كان عمل مكارثي مستوحى من أعمال ألونزو تشيرش ، التي كانت قبل عقدين من الزمن. يمكن أيضًا إرجاع الإشارات البارزة المرتبطة بالتكرار إلى عمل Dedekind على الأرقام الطبيعية في عام 1888. قدمت روزا بيتر عن الدوال العودية في عام 1932 في المؤتمر الدولي لعلماء الرياضيات في زيورخ عام 1932.
الاستخدامات الشائعة للتكرار
- العودية يساعد في معالجة المشاكل لأنه يعالج مشكلة بشروطها من تقسيم المشكلة إلى مشاكل أصغر
- أفضل طريقة لمعالجة المشاكل ستكون من خلال العودية لأنه يوسع منظور المرء للمشكلة المطروحة
- في العودية، فإن المجموعة الجديدة من المشاكل هي نسخ متماثلة لبعضها البعض ، ويتم حل كل المشكلات من تلقاء نفسها.
إساءة استخدام العودية الشائعة
- العودية لا يعالج المشكلات على الرغم من تقسيم المشكلة إلى نطاق أصغر
- العودية فقط يبسط المشكلة ولا يجيب عليها.