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:
- Di antara vertex yang belum dikunjungi, pilih vertex
udengandistterkecil. Jika tidak ada yang dapat dijangkau, berhenti. - Tandai
usebagai sudah dikunjungi: jaraknya kini sudah final. - Relaksasikan setiap edge
u -> vdengan bobotw: jikadist[u] + w < dist[v], turunkandist[v]. - 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.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Algoritma Dijkstra: Algoritma Graf
2Algoritma
Bagaimana cara kerjanya?Kode SemuImplementasi (Bagian 1)Implementasi (Bagian 2)Latihan sendiri: Compiler C online