דינמי/ רקורסיבי

pilot23

New member
דינמי/ רקורסיבי

שלום,
אני מסתכלת באינטרנט על כל מני דוגמאות של רקורסיה ורובם באנגלית... ובכל מני דוגמאות שראיתי רשום שהם מתוכנתים ע"י תכנות דינאמי של אלגוריתם. זה אומר שזה רקורסיבי ?
תודה.
 

nocgod

New member
תציצי במילון...

דינאמי זה לא רקורסיבי ורקורסיבי זה לא דינאמי.

דינאמי זה משהו שאינו קבוע מראש (בזמן קומפילציה במקרה שלנו) ונקבע במהלך ריצת התוכנית
רקורסיבי (משהו שלא בהכרח קשור לתכנות) זה פונקציה שקוראת לעצמה על מנת להגיע למקרה בסיס מוגדר שעלידו היא פותרת את הבעיה הגדולה יותר, הדוגמא הכי מוכרת בעולם זה עצרת וכמובן פונקציית פיבונאצ'י.

לא יודע מה קראת, אבל אני חושב שלא לזה התכוונת
 

nocgod

New member
אני לא יודע למה היא התכוונה

רקורסיבי זה רקורסיבי, וזה ממש לא תכנות דינאמי, מה גם שדינאמי זה גם לא רקורסיבי, לא משנה איך שתסתכל על זה דינאמי או תכנות אלגוריתם דינאמי זה לא רקורסיבי.

תכנות דינאמי זה תכנות שמשתמש בטכניקות כגון memoization כדי להמנע מחישובים כפולים, או שיטות נומריות אחרות כדי להמנע מכך (כמו למשל לחשב את מספרי פיבונאצי לא מהמספר ה n עד המספר הידוע הראשון אלא מהמספר הידוע הראשון עד למספר ה n)
 

mazory

New member
לדעתי די ברור למה היא התכוונה

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

אף אחד לא טען שזה אותו דבר, אבל ההקשר שבו היא נתקלה במושג הזה הוא די ברור.
 
למעלה