מחשבים, תכנות
רקורסיה היא מה? רקורסיה בתכנות (דוגמאות)
סיורים הם אירועים מעניינים כשלעצמם, אבל בתכנות הם בעלי חשיבות מיוחדת במקרים בודדים. בפעם הראשונה נתקל בהם, לא מעט אנשים יש בעיות עם ההבנה שלהם. זאת בשל שדה ענק של יישום פוטנציאלי של המונח עצמו, בהתאם להקשר שבו "recursion" משמש. אבל אתה יכול לקוות כי מאמר זה יסייע למנוע אי הבנה או אי הבנה.
מהו "רקורסיה" באופן כללי?
מה זאת אומרת רקורסיה בתכנות?
רקורסיה יכולה להיות סופית או אינסופית. כדי שהראשון יפסיק לקרוא לעצמו, חייבים להיות גם תנאים לסיום. זה יכול להיות ירידה בערכו של המשתנה וכאשר מגיע ערך מסוים, להפסיק להפסיק תוכנית סיום / מעבר לקוד הבא, בהתאם לצרכים להשיג מטרות מסוימות. תחת recursion אינסופי, זה אומר שזה ייקרא בזמן המחשב או התוכנית שבה הוא פועל פועל.
ניתן גם לארגן רקורסיה מורכבת באמצעות שתי פונקציות. נניח שיש A ו- B. לפונקציה יש קריאה בקוד שלה B, ו- B, בתורו, אומר למחשב לבצע א. נסיעות מורכבות הן דרך לצאת ממספר מצבים לוגיים מורכבים עבור לוגיקה במחשב.
אם הקורא שקרא את השורות הללו למד את מחזורי התוכנית, אז כנראה כבר שם לב לדמיון ביניהן לבין רקורסיה. באופן כללי, הם יכולים למעשה לבצע משימות דומות או זהות. בעזרת recursion זה נוח לעשות חיקוי של העבודה של המחזור. זה שימושי במיוחד כאשר מחזורים עצמם אינם נוחים מאוד. התוכנית של יישום תוכנה אינה שונה בהרבה משפות תכנות ברמה גבוהה. אבל עדיין רקורסיה ב "פסקל" ואת רקורסיה ב C או שפה אחרת יש מוזרויות משלו. זה יכול להיות מיושם בהצלחה בשפות ברמה נמוכה כמו "אסמבלר", אבל זה יותר בעייתי זמן רב.
עצי רקורסיה
- יש לו צומת מיוחדת ראשונית, אשר נקרא שורש העץ כולו.
- הצמתים הנותרים נמצאים בכמות שונה מאפס, תת-זוגיות של תת-זוגות, והם גם עץ. כל צורות אלה של הארגון נקראות משנה של העץ הראשי.
במילים אחרות: עצים מכילים משנה משנה המכילים עצים, אבל בכמות פחות מהעץ הקודם. זה נמשך עד אחד הצמתים יש את ההזדמנות לנוע הלאה, וזה יציין את סוף recursion. יש עוד ניואנס אחד על הדימוי הסכימטי: עצים רגילים גדלים מלמטה למעלה, ובתכנות הם נמשכים לאחור. צמתים שאין להם תוסף נקראים צמתים סופיים. לנוחות הייעוד ולנוחות, נעשה שימוש במינוח הגניאלוגי (אבות, ילדים).
למה זה משמש תכנות?
ההבדלים של רקורסיה בשפות תכנות שונות
למרות ערכת יישום כללי יישום ספציפי בכל מקרה בודד, רקורסיה תכנות יש מאפיינים משלה. זה יכול לגרום לקושי בעת חיפוש החומר הנדרש. אבל אתה צריך תמיד לזכור: אם שפת תכנות שיחות פונקציות או נהלים, אז השיחה recursion הוא דבר מעשי. אבל ההבדלים המשמעותיים ביותר שלה באים לידי ביטוי בעת שימוש בשפות תכנות נמוכות וגבוהות. במיוחד זה נוגע לאפשרויות של יישום תוכנה. ביצוע בסופו של דבר תלוי מה המשימה מוגדר, בהתאם לכך, recursion נכתב. פונקציות והנהלים משמשים אחרת, אבל המטרה שלהם היא תמיד זהה - להכריח את עצמם לקרוא את עצמם.
רקורסיה קלה. איך פשוט לזכור את התוכן של המאמר?
Similar articles
Trending Now