Menu
CoddyTech

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.

quiz iconUji dirimu

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