איך זה עובד?
שיעור 3 מתוך 9 בקורס אלגוריתם דייקסטרה – אלגוריתמים בגרפים של Coddy.
יש להחזיק מערך dist: dist[source] = 0, ולכל קודקוד אחר יש להתחיל בערך "אינסוף" (מספר גדול מאוד). יש להחזיק דגל visited לכל קודקוד.
תהליך שלב אחר שלב:
- מבין הקודקודים שטרם ביקרנו בהם, בוחרים את הקודקוד
uשעבורוdistהוא הקטן ביותר. אם אין קודקוד שניתן להגיע אליו, עוצרים. - מסמנים את
uכקודקוד שביקרנו בו: המרחק שלו סופי כעת. - מרפים כל קשת
u -> vשמשקלהw: אםdist[u] + w < dist[v], מקטינים אתdist[v]. - חוזרים על הפעולה עד שכל הקודקודים שניתן להגיע אליהם נקבעו סופית.
בסיום, כל קודקוד שעדיין נמצא באינסוף אינו נגיש (נדווח עליו כ--1).
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה אלגוריתם דייקסטרה – אלגוריתמים בגרפים
תרגלו בעצמכם: קומפיילר C אונליין