Kode Semu
Pelajaran 4 dari 9 dalam kursus Algoritma Dijkstra: Algoritma Graf di 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 hanyalah angka yang lebih besar daripada jarak nyata mana pun (misalnya 1000000000).
- Memilih vertex yang belum dikunjungi dengan dist terkecil di setiap putaran adalah inti greedy Dijkstra. Memindai daftar edge untuk melakukan relaksasi membuat kode tetap sederhana dan berfungsi dalam bahasa apa pun.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Algoritma Dijkstra: Algoritma Graf
Latihan sendiri: Compiler C online