רקורסיה היא כלי שיאפשר לנו לפתור בעיות בקלות יחסית ובאופן קצר מאשר פיתרון איטרטיבי (פתרון ללא רקורסיה). לא כל בעיה מתאימה לרקורסיה, אך יש לא מעט בעיות שהפתרון הרקורסיבי שלהן יהיה שורות ספורות, לעומת פתרון איטרטיבי מסובך. מסמך זה מציג את נושא האלגוריתמים הרקורסיביים למתחילים.
דוגמא מספר 2
בדוגמא מספר 2:int fib(int n)
{
if (n == 0) return 0;
if (n == 1) return 0;
return fib(n-1)+fib(n-2);
}
יש לך טעות, הרקורסיה לא תעבוד כך כרצוי. בהשוואה של n ל-1 ההחזרה צריכה להיות 1, כלומר הפקודה הנכונה היא:
if (n == 1) return 1;