Download presentation
Presentation is loading. Please wait.
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)); } החיסרון : חישובים חוזרים של תתי בעיות !
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.