Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.

Similar presentations


Presentation on theme: "1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים."— Presentation transcript:

1 1 מבוא למדעי המחשב רקורסיה

2 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים ואם הפתרון של המקרה הכללי יכול להתבסס על הפתרון למקרה פשוט יותר, אזי ניתן להשתמש ברקורסיה באופן טבעי.

3 3 רקורסיה - דוגמא חישוב n! : n!=1*2*3*…*n אבל מצד שני גם n!=n*(n-1)*(n-2)*…*2*1 ואז n!=n * (n-1)!

4 4 רקורסיה - דגשים  פונקציה רקורסיבית היא פונקציה שבתוך הגדרתה קוראת לעצמה.  רקורסיה אינסופית, להבדיל מלולאה אינסופית מסתיימת בשגיאה.  בכל רקורסיה חייב להיות תנאי עצירה.  כל עותק חדש של הפונקציה מקבל עותק חדש של המשתנים האוטומטיים שלו.

5 5 רקורסיה - דוגמא חישוב n! : int factorial (int n) { if (n==0) return 1; else return n*factorial(n-1); }

6 6 רקורסיה – דוגמא ( 2) סידרת פיבונאצ'י:

7 7 רקורסיה – דוגמא ( 2) סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1) + fibonacci(n-2)); } החיסרון : חישובים חוזרים של תתי בעיות !


Download ppt "1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים."

Similar presentations


Ads by Google