מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/חיפוש רוחבי/תרגילים/ סדר הדפסת הצמתים וזמן הריצה/תשובה v2

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

סדר ההדפסות[עריכה]

  • תחילה יודפס 1 כמובן.
  • באיטרציה הראשונה של 8-14, התור יכיל את 1.‏ 10-14 ידפיסו את 2 ו6 ויכניסו אותם לתור (בסדר הזה).
  • באיטרציה השניה, 2 יהיה בראש התור. 3 יודפס ויוכנס לתור.
  • באיטרציה השלישית, 6 יהיה בראש התור. 5 ו7 יודפסו ויוכנסו לתור (בסדר הזה). כעת התור יכיל את 3, 5, ו7 (3 בראש התור)
  • נמשיך כך הלאה.

הצמתים יודפסו בסדר הבא (משמאל לימין): .

ניתוח זמן הריצה[עריכה]

  • 1-2 ו5-7 הן
  • 3-4 הן .
  • הלולאה 8-14 מתבצעת בדיוק פעם אחת עבור כל צומת. בפרט, הבדיקה ב8 והפעולה ב9 עולות .
  • באופן דומה, הלולאה 10-14 מתבצעת בדיוק פעם אחת עבור כל זוג כך ש. הלולאה תורמת לכן .


שימו לב:

חשוב להבין שלמרות שהלולאה 10-14 נמצאת בתוך הלולאה 8-14, זמן הריצה של 10-14 אינו המכפלה .

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

הסיבוכיות, לכן, היא .