מחשביםתכנות

רקורסיה היא מה? רקורסיה בתכנות (דוגמאות)

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

מהו "רקורסיה" באופן כללי?

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

מה זאת אומרת רקורסיה בתכנות?

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

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

ניתן גם לארגן רקורסיה מורכבת באמצעות שתי פונקציות. נניח שיש A ו- B. לפונקציה יש קריאה בקוד שלה B, ו- B, בתורו, אומר למחשב לבצע א. נסיעות מורכבות הן דרך לצאת ממספר מצבים לוגיים מורכבים עבור לוגיקה במחשב.

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

עצי רקורסיה

מהו "עץ" בתכנות? זוהי קבוצה סופית המורכבת מצומת אחת לפחות, אשר:

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

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

למה זה משמש תכנות?

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

ההבדלים של רקורסיה בשפות תכנות שונות

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

רקורסיה קלה. איך פשוט לזכור את התוכן של המאמר?

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 iw.birmiss.com. Theme powered by WordPress.