מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/אלגוריתם Dijkstra/תרגילים/מציאת מסלול זול בגרף בעל קשתות בתחום שלם קטן/תשובה

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

נבנה גרף חדש ברשימת שכנויות.

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

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



דוגמה:

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

הפיכת Dijkstra לBFS.
הפיכת Dijkstra לBFS.


המשפט הבא טריביאלי:



משפט:

לכל , מחיר המסלול הזול מ ל ב הוא מרחק המסלול הקצר מ ל ב.


קל גם להווכח שסיבוכיות בניית היא . כעת נריץ את אלגוריתם [[מבני נתונים ואלגוריתמים - מחברת קורס/#|]] על . הסיבוכיות הכוללת (של הבניה ושל ההרצה) במקרה הגרוע היא .