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