My first Magazine pemrograman-kompetitif-dasar | Page 141

11.2 Minimum Spanning Tree 3 6 1 1 2 5 2 3 5 4 4 2 1 dist 0 visited true pred −1 2 4 f alse 4 3 4 2 5 f alse true 4 1 5 2 f alse 4 Gambar 11.14: Tahap 3: Lakukan proses relax terhadap node 4. Selanjutnya memilih node yang belum dikunjungi dengan nilai dist terendah untuk ekspansi. Ada 2 kandidat, kita bebas memilih yang mana saja. Misal kita pilih node 3. 3 6 1 1 2 5 2 3 5 4 4 2 1 dist 0 visited true pred −1 2 3 4 1 2 5 f alse true true 3 4 1 5 2 f alse 4 Gambar 11.15: Tahap 4: Lakukan proses relax terhadap node 3. Selanjutnya memilih node yang belum dikunjungi dengan nilai dist terendah untuk ekspansi, yaitu node 2. 3 6 1 1 2 5 2 3 5 4 4 2 1 2 3 4 dist 0 1 2 5 visited true true true true pred −1 3 4 1 5 2 f alse 4 Gambar 11.16: Tahap 5: Lakukan proses relax terhadap node 2. Selanjutnya memilih node yang belum dikunjungi dengan nilai dist terendah untuk ekspansi, yaitu node 5. 3 6 1 1 2 5 2 3 5 4 4 2 1 2 3 4 5 dist 0 1 2 5 2 visited true true true true true pred −1 3 4 1 4 Gambar 11.17: Tahap 6: Lakukan proses relax terhadap node 5. Karena semua nilai pada visited sudah true, maka algoritma selesai. Setelah menjalankan algoritma Prim, kita dapat mengetahui total bobot dari MST dengan menghitung total nilai pada tabel dist. Pada kasus ini, total bobotnya adalah 10. Untuk men- dapatkan edge -edge solusi MST, cukup lihat tabel pred. Untuk setiap node u, jika nilai pred[u] tidaklah −1, maka edge hu, pred[u]i masuk dalam solusi MST. Pada kasus ini, edge yang masuk dalam solusi MST adalah [h1, 3i, h2, 4i, h5, 1i, h2, 4i]. Kompleksitas Prim Mari kita analisa kompleksitas algoritma Prim. Pada mulanya, semua node kecuali node awal tidak termasuk di dalam tree . Pada setiap iterasi pemilihan node , tepat satu buah node 131