31-08-2005, 13:03
|
|
|
|
חבר מתאריך: 04.08.02
הודעות: 4,468
|
|
...
1. מה זאת אומרת קיצור? איזה קיצור נותנת ריקורסיה? תנסח את עצמך בצורה ברורה יותר.
ריקרוסיה מאפשרת לפתור בעיות מסויימות, בצורה נוחה יותר מאשר פתרון איטרטיבי.
תבצע חיפוש בפורום, ותמצא אלפי דוגמאות של ריקורסיות ושאלות שנשאלו על הנושא הזה, חפש גם על הכינוי minimax, תלמד הרבה ממנה
בקצרה, פונקציה ריקורסיבית היא פונקציה שקוראת לעצמה באופן ישיר או עקיף, וככה זה נראה בערך בקוד:
קוד:
int myFunc( void )
{
//.... bla bla bla
//.... bla bla ble!
myFunc();
//.... bla bla bla
//.... bla bla ble!
return 0;
}
זאת קריאה ישירה. יכל להיות גם מקרה שקיימת הפניה לפונקציה מסיימת (נניח A) בתוך הפונקציה myFunc, ושאותה פונקציה (A) קוראת לפונקציה myFunc שוב, זאת קריאה עקיפה.
כמובן, הפונקציה הזאתי לא מבצעת כלום, אלא נכנסת למין לופ אינסופי.
דוגמאות נחמדות לריקורסיה בהתחלה, הן: סדרה פיבונצ'י/עצרת וכו', תחפש בפורום או ב
2. שוב לא ניסחת את עצמך מספיק טוב.
האופרטורים האלו שציינת הם not, or, xor, יש להם אלפי שימושים, מהבסיסים ביותר (לבצע פעולות עם מספרים נניח, עד למתקדמים יותר, הצפנה וכו'). לפני שאתה מנסה להבין איך להשתמש בהם, תבין קודם מה הם עושים. תחפש בגוגל על טבלאות אמת של האופרטורים האלו, תבדוק את ההתנהגות שלהם.
|