وتسمى تقنية البرمجة لبرنامج يدعو نفسه العودية. يستخدم العودية على نطاق واسع كخوارزمية في لغات البرمجة. تحتوي العملية أو الدالة على طريقة لاستدعاء نفسها بشكل مباشر أو غير مباشر في تعريفها أو وصفها. عادة ما يحول طبقة مشكلة كبيرة ومعقدة حسب الطبقة إلى مشكلة أصغر مماثلة للمشكلة الأصلية التي يجب حلها. لا تتطلب الاستراتيجية المتكررة سوى عدد صغير من البرامج لوصف الحسابات المتكررة المتعددة المطلوبة لعملية حل المشكلات ، مما يقلل بشكل كبير من كمية الكود في البرنامج. تكمن قدرة التكرار في استخدام البيانات المحدودة لتحديد مجموعة من الكائنات اللانهائية. بشكل عام ، يتطلب العودية شروطًا حدودية ، وشرائح متقدمة متكررة ، وشرائح عودة متكررة. عندما لا تكون حالة الحدود غير راضية ، تابع بشكل متكرر ؛ عندما يتم استيفاء حالة الحدود ، ارجع بشكل متكرر. هذا ما قاله موسوعة بايدو.
في الواقع ، بعبارة صريحة ، إنها العملية التي تؤديها الطريقة العودية نفسها التي تسمي نفسها. اسمحوا لي أن أعطيك مثالاً لتوضيح هذا المثال ، وهو تسلسل فيبوناتشي الشهير.
0 ، 1 ، 1 ، 2 ، 3 ، 5 ، 8 ، 13 ، 21 ، 34 ، 55 ، 89 ، 144 ، 233 ، 377 ، 610 ، 987 ، 1597 ، 2584 ، 4181 ، 6765 ، 10946 ، 17711 ، 28657 ، 46368 ...
يمكن ملاحظة أن الرقم الثالث يتم الحصول عليه عن طريق إضافة الرقمين الأولين.
هذا ما يعنيه إذا كنت تستخدم حلقة عادية:
الفئة العامة feibo {public static void main (string [] args) {int num1 = 0 ؛ int num2 = 1 ؛ int numn = 1 ؛ int n = 10 ؛ لـ (int i = 3 ؛ i <= n ؛ i ++) {numn = num1+num2 ؛ num1 = num2 ؛ num2 = numn ؛ } system.err.println (n+"النتيجة هي:"+numn) ؛ }}نتيجة العملية هي:
نتيجة 10 أرقام هي: 34
هذا لاستخدام طريقة الحلقة العادية للتشغيل ، إذا كنت تستخدم العودية ، فهذا مثل هذا:
int static int recursion (int n) {if (n == 1) {return 0 ؛ } if (n == 2) {return 1 ؛ } عودة عودة (N-1)+عودة (N-2) ؛ }يتطلب العودية شرطًا نهائيًا ، وفي حالة التكرار لا يحتاج إلى متابعة الاتصال ، وإنهاء العودية. الشرط النهائي للحالة أعلاه هو أنه عندما يكون n = 1 أو 2 ، فإنه يعود 0 أو 1 ، بدلاً من الاستمرار في استدعاء الطريقة العودية نفسها.
الشرطان الرئيسيان للتكرار هو استدعاء نفسك وإنهاء العودية.
نظرًا لأن العودية تسمى نفسه ، فإنها تضيع الكثير من الموارد ، ووقت التشغيل أطول بكثير من الحلقة ، ووقت التشغيل أبطأ ، والكفاءة منخفضة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.