Menu
CoddyTech

Bagaimana cara kerjanya?

Pelajaran 3 dari 9 dalam kursus Algoritma Dijkstra: Algoritma Graf di Coddy.

Simpan array dist: dist[source] = 0 dan setiap vertex lainnya dimulai dengan "infinity" (angka yang sangat besar). Simpan flag visited untuk setiap vertex.

Proses langkah demi langkah:

  1. Di antara vertex yang belum dikunjungi, pilih vertex u dengan dist terkecil. Jika tidak ada yang dapat dijangkau, berhenti.
  2. Tandai u sebagai sudah dikunjungi: jaraknya kini sudah final.
  3. Relaksasikan setiap edge u -> v dengan bobot w: jika dist[u] + w < dist[v], turunkan dist[v].
  4. Ulangi sampai semua vertex yang dapat dijangkau sudah difinalisasi.

Pada akhirnya, vertex mana pun yang masih bernilai infinity tidak dapat dijangkau (kita melaporkannya sebagai -1).

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