Algoritme Dijkstra

Algoritma Dijkstra, (dinamai menurut penemunya, seorang ilmuwan komputer, Edsger Dijkstra), adalah sebuah algoritma rakus (greedy algorithm) yang dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot garis (edge weights) yang bernilai nonnegatif, . Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graph) dan sebuah titik asal dalam himpunan garis .

Misalnya, bila titik dari sebuah graf melambangkan kota-kota dan bobot garis melambangkan jarak antara kota-kota tersebut, algoritma Dijkstra dapat digunakan untuk menemukan jarak terpendek antara dua kota.

Biaya (cost) dari sebuah garis dapat dianggap sebagai jarak antara dua simpul, yaitu jumlah jarak semua garis dalam jalur tersebut. Untuk sepasang titik dan dalam , algoritma ini menghitung jarak terpendek dari ke .

Kode semu

sunting
 1  fungsi Dijkstra(Graf, asal):
 2      Q adalah himpunan titik
 3
 4      untuk setiap titik v dalam Graf:
 5          jarak[v] ← tak hingga
 6          sebelum[v] ← kosong
 7          tambahkan v ke dalam Q
 8      jarak[asal] ← 0;
 9
10      selama Q tidak kosong:
11          u ← titik dalam Q dengan nilai jarak[u] terkecil
12          hapus u dari Q
13
14          untuk setiap tetangga v dari u: // hanya v yang masih dalam Q
15              alt ← jarak[u] + jarak_antara(u, v)
16              jika alt < jarak[v]:
17                  jarak[v] ← alt
18                  sebelum[v] ← u
19
20  kembalikan jarak[], sebelum[]

Rujukan

sunting

Lihat pula

sunting

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Algoritma tamak

Algoritma tamak atau dalam bahasa Inggris greedy algorithm adalah algoritma apa pun yang mengikuti metode heuristik dalam pemecahan masalah untuk membuat

Algoritma Frank–Wolfe

Clarkson, K. L. (2010). "Coresets, sparse greedy approximation, and the Frank-Wolfe algorithm". ACM Transactions on Algorithms. 6 (4): 1–30. doi:10

Pohon rentang minimum

log n (log log n)3). Keempat algoritma tersebut termasuk algoritme rakus (greedy). Pohon rentang minimum dipakai dalam desain jaringan, termasuk jaringan

Pemelajaran mesin daring

iterasi sebelumnya. Metode ini dapat dianggap sebagai algoritma serakah (greedy algorithm) karena setiap keputusan diambil dengan tujuan meminimalkan kerugian

Pendakian bukit (algoritma)

Penurunan gradien Algoritma greedy Tâtonnement Pergeseran rata-rata Algoritma pencarian A* Skiena, Steven (2010). The Algorithm Design Manual (Edisi 2nd)

Pewarnaan peta

topografi. Muhammad Mussafi, Noor Saif (2015/05/01). "Penerapan Greedy Coloring Algorithm Pada Peta Kotamadya Yogyakarta Berbasis Four-colour Theorem".