Dengan diberi digraf tertimbang , dan fungsi bobot, d ( u , v ) , orang biasanya dapat menggunakan algoritma Dijkstra untuk mendapatkan jalur terpendek. Apa yang saya tertarik, adalah bagaimana cara mendapatkan 2 n d- jalur terpendek, 3 r d- terpendek, dan sebagainya.
Pertanyaan:
Apakah ada algoritma yang efisien untuk mendapatkan jalur ke-i-ke-terpendek antara dua node dalam grafik berbobot?
Apakah ada algoritma yang efisien untuk mendapatkan k-path paling pendek antara dua node dalam grafik berbobot?
Jawaban untuk salah satu adalah OK, meskipun saya bertanya-tanya apakah jawaban untuk pertanyaan kedua dapat dilakukan lebih efisien daripada panggilan ke jawaban untuk pertanyaan pertama.
algorithms
graphs
shortest-path
graph-traversal
Realz Slaw
sumber
sumber
Jawaban:
Jika Anda melarang siklus, Anda mungkin ingin melihat algoritma Hershberger et al. [2].
[1] Eppstein, David. "Menemukan k jalur terpendek." Jurnal SIAM tentang komputasi 28.2 (1998): 652-673. [ CiteSeerX ]
[2] Hershberger, John, Matthew Maxel, dan Subhash Suri. "Menemukan jalur sederhana k terpendek: Algoritma baru dan implementasinya." Transaksi ACM tentang Algoritma (TALG) 3.4 (2007): 45. [ CiteSeerX ]
sumber