ערכתי לאחרונה בתאריך 27.01.05 בשעה 18:35 בברכה, dryice
נניח ואני לוקח אלגוריתם רקורסיבי וממש אותו בעזרת מחסנית שאני מסמלץ
אחת לאחת למחסנית של המחשב בעזרת מערך שלי.
אז תאמר שזה רקורסיה לכל דבר?אז אני לצורך ייעול משנה את העברת הפרמטרים בשביל שיהיו בתוך רשומות במערך
וכל תא במערך יכיל סט שלם של פרמטרים.
אז תאמר שזה רקורסיה לכל דבר?
ואז אני לצורך ייעול יאפשר עוד כמה פעולות על המחסנית, כמו להסתכל לעומק המחסנית על הפרמטרים של אב קדמון, או לחזור כמה צעדים אחורנית במכה?
אז תאמר שזה רקורסיה לכל דבר?
ואז אני אחליט להחליף את המערך ברשימה מקושרת?
אז תאמר שזה רקורסיה לכל דבר?
ואז אני אחליט להחליף את הרשימה המקושרת בHash_table בין מספרים סידוריים רצים לסט פרמטרים ותכונות שמכיל גם את המציין של הסט הקודם?
אז תאמר שזה רקורסיה לכל דבר?
ואז נאפשר עוד כמה פעולות חוץ מpush ולקפוץ להתחלה, נאפשר גם להכניס שני רשומות, כך שב"חזרה מהקריאה" לצורך העניין עוברים יותר שלבים מאשר בהלוך.
אז תאמר שזה רקורסיה לכל דבר?
יש המון הבדלים שאפשר לעשות ומרגע שאני שולט במחסנית לקרוא לזה רקורסיה זה רק בשביל הנוחות שלי, יש שפות תיכנות שבהם גם רעיון המחסנית או המערך
איננו טריוויאלי, אפשר לדבר על רקורסיה בשביל לעשות סדר בראש לתוכניתן
אבל אין אלגוריתם שדורש רקורסיה, יש בעיות שדורשים יותר מO(1) זכרון נוסף אבל יש בהכרח פתרונות שאינם רקורסיבים.
DRYICE