מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/אלגוריתם Dijkstra/תרגילים/מציאת מסלול זול בגרף בעל קשתות בתחום שלם קטן/תשובה
מראה
נבנה גרף חדש ברשימת שכנויות.
נגדיר את הגרף החדש מתוך כלהלן. ראשית, אם , אז נקבע . כעת נעבור על כל . אם מחיר קשת הוא 1, נוסיף קשת זו ל.
לחלופין, נניח שמחיר הקשת הוא . במקרה זה נוסיף עוד צמתים חדשים ל ועוד קשתות ל, כך שיש מסלול באורך מ ל של קשתות במחיר 1 ב. נקבל ב גרף בעל מסלולים במחיר 1 בלבד.
דוגמה: בתרשים הבא, הגרף העליון הוא , הגרף המקורי. הגרף התחתון הוא הגרף החדש (הצמתים המקוריים מ מסומנים בהדגשה). |
המשפט הבא טריביאלי:
משפט: לכל , מחיר המסלול הזול מ ל ב הוא מרחק המסלול הקצר מ ל ב. |
קל גם להווכח שסיבוכיות בניית היא .
כעת נריץ את אלגוריתם [[מבני נתונים ואלגוריתמים - מחברת קורס/#|]] על . הסיבוכיות הכוללת (של הבניה ושל ההרצה) במקרה הגרוע היא .