|
صفحة: 240
מצא מינימום : צעד 1 1 . 1 מצא את הקדקוד k מתוך קבוצת הקדקודים " הזמניים" T- בעל ערך d [ k ] מינימלי , כלומר ; לכל d [ k ] = mm { d [ j ] } jeT 1 . 2 צרף את הקדקוד k לקבוצה ק , כלומר p < - p + { k } 1 . 3 הורד את הקדקוד k מקבוצה , T כלומר T <^ T- { k } 1 . 4 אם = 0 7 ל 7 הינה קבוצה ריקה , ( אזי סיים ! אחרת - עבור לצעד . 2 צעד 2 2 . 1 לכל צומת . / & T בצע : [/] = min { 4 /] , 4 *] + < # ][/]} 2 . 1 . 1 2 . 1 . 2 אם < P ] + «[*][/] < 4 / 1 אז בצע : Pa [/] < - k 2 . 2 סוף הלולאה . 2 . 3 חזור לצעד . 1 הערה ! האלגוריתם דיקסטרה פועל כהלכה בתנאי שכל המשקלות המיוחסים לקשתות הגרף הם חיוביים . נראה זאת על דרך השלילה . נניח שאפשר לייחס משקל שלילי לקשת כלשהי . נתבונן בגרף הזה < שימו לב שלקשת ( CD ) מיוחס מספר שלילי . ( -7 ) קל לראות שהמסלול הקצר ביותר מהקדקוד A לקדקוד D הוא : ואורכו . 8
|
|