קוד מדומה
שיעור 4 מתוך 9 בקורס אלגוריתם דייקסטרה – אלגוריתמים בגרפים של Coddy.
dijkstra(n, edges, source):
dist = [INF, INF, ...]; dist[source] = 0
visited = all false
repeat n times:
u = unvisited vertex with smallest dist (none reachable -> stop)
visited[u] = true
for each edge (a -> b, weight w):
if a == u and dist[u] + w < dist[b]:
dist[b] = dist[u] + w
replace every remaining INF with -1
return dist- INF הוא פשוט מספר שגדול מכל מרחק ממשי (לדוגמה, 1000000000).
- בחירת הקודקוד שלא ביקרנו בו ושיש לו את ערך dist הקטן ביותר בכל סבב היא הלב החמדני של דייקסטרה. סריקה של רשימת הקשתות השטוחה כדי לבצע הרפיה שומרת על קוד פשוט ופועלת בכל שפה.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה אלגוריתם דייקסטרה – אלגוריתמים בגרפים
תרגלו בעצמכם: קומפיילר C אונליין