רקורסיה או לא?
לכל תוכנית הרצה במע´ ההפעלה, מוגדר איזור זיכרון הנקרא "זכרון מחסנית". ההקצאה ב"זכרון המחסנית" נעשית בסדר LIFO, כלומר - נכנס אחרון, יוצא ראשון - (Last In, First Out). בקריאה לפונקציה מסויימת, מוקצים הפרמטרים המועברים לה ב"זיכרון המחסנית" וכן כל אותם משתנים המוקצים בגוף הפונקציה. בחזרה מן הפונקציה, כל אלה מנוקים מ"זכרון המחסנית". יש לשים לב, כי ל"זכרון המחסנית" יש גודל מסויים, אשר חריגה ממנו תגרום לשגיאת חריגה - Stack Overflow. "רקורסיה" היא קריאה עצמית לפונקציה, המנצלת את פעולת "זכרון המחסנית", על-פי ההסבר שנתתי קודם, לביצוע פעולות הדורשות - מחסנית. ולכן, כל בעייה ניתנת לפתרון גם ללא רקורסיה, ע"י לולאה המשתמשת ב"מחסנית", לאו דווקא "זכרון המחסנית" של התוכנית עצמה. העניין הוא שיש צורך לממש מחסנית זו ע"י המתכנת, ואז להשתמש בה בגוף הלולאה.