בתכנות, מודול תוכנית או תת-שגרה הקוראת לעצמה לבצע פעולה איטרטיבית; במילים אחרות, ביטוי טהור חוזר על עצמו כדי להשיג פעולה הרבה יותר מורכבת.
עקרון הרקורסיה מומחש על ידי מספרי פיבונאצ'י, סדרת מספרים שבה שני האיברים הראשונים הם 1; תנאים עוקבים ניתנים על ידי סיכום שני האיברים הקודמים (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 וכו'). ניתן ליצור מספרי פיבונאצ'י באמצעות המשוואה הבאה, כל עוד n גדול מ-2: Fibonacci («) = Fibonacci (« – 1) + Fibonacci (n – 2).
Technipages מסביר רקורסיה
רקורסיה היא שיטה לפתרון בעיות בתכנות, שבה בעיה מפורקת ליחידות קטנות יותר של בעיות ונפתרת בנפרד. אז הפתרון הראשון תלוי בפתרונות הקטנים יותר שהתקבלו מהם, בבעיות קלות יותר. הרקורסיות מסייעות בפתרון בעיות, שכן שאלה נפתרת בתנאים שלה.
הוא מאויר בצורה הטובה ביותר עם בובות המטריושקה הרוסיות, שהיא סט של בובות עטופה בבובה גדולה יותר; כל חתיכת בובה היא העתק ישיר של הבובה העוקבת או הקודמת למעט קטנה יותר. אז כל בובה היא גרסה קטנה או משמעותית יותר של האחרת. תכנות רקורסיבי מבוסס על עיקרון זה שבו מתמודדים עם בעיה על ידי פירוקה לבעיות קטנות יותר.
ניתן לאתר את הרקורסיה בשנת 1958, ג'ון מקארתי היה הראשון שהשתמש בעקרון הרקורסיה בתכנות, וניתן למצוא זאת על עבודתו על LISP. LISP הייתה שפת התכנות הראשונה שהציגה פונקציות רקורסיביות כפי שיש לנו היום. עבודתו של מקארתי נוצרה בהשראת יצירותיו של אלונזו צ'רץ', שהיו לפני שני עשורים. אזכורים בולטים הקשורים לרקורסיה יכולים להיות מתוארכים גם לעבודתו של דדקיינד על מספרים טבעיים ב-1888. רוזסה פיטר הציג על פונקציות רקורסיביות ב-1932 בקונגרס הבינלאומי של מתמטיקאים בציריך ב-1932.
שימושים נפוצים ברקורסיה
- רקורסיה עוזר בהתמודדות עם בעיות שכן הוא מטפל בבעיה בתנאים שלה מפירוק הבעיה לבעיות קטנות יותר
- דרך טובה יותר להתמודד עם בעיות תהיה דרך רקורסיה כי זה מרחיב את נקודת המבט של האדם על הבעיה שעל הפרק
- ב רקורסיה, מערכת הבעיות החדשה היא העתקים זו של זו, והבעיות נפתרות כל אחת בפני עצמה.
שימושים לרעה נפוצים ברקורסיה
- רקורסיה אינו מתמודד עם בעיות למרות שהבעיה מחולקת לטיפול בקנה מידה קטן יותר
- רקורסיה רק מפשט בעיה, וזה לא עונה עליה.