Diberikan DAG tidak tertimbang (grafik asiklik langsung) dan dua simpul dan , apakah mungkin untuk menemukan jalur terpendek dan terpanjang dari ke dalam waktu polinomial? Panjang jalur diukur dengan jumlah tepi.
Saya tertarik menemukan kisaran panjang jalur yang mungkin dalam waktu polinomial.
Ps., Pertanyaan ini adalah duplikat dari pertanyaan StackOverflow Jalur terpanjang dalam DAG .
sumber
Biarkan dan m = | E ( G ) | . Biarkan w ( a → b ) menunjukkan berat tepi ( a → b ) . Misalkan Anda ingin mencari biaya jalur minimum dan maksimum dari s ke t .n=|V(G)| m=|E(G)| w(a→b) (a→b) s t
Mulai dari , lakukan yang berikut:b:=t
Jika telah dikunjungi, kembalikan min ( b ) dan maks ( b ) yang telah dihitung . Jika tidak, tandai b sebagai dikunjungi.b min(b) max(b) b
Tentukan dan catat dan maks ( b ) sebagai berikut.min(b) max(b)
You should be able to prove that this algorithm runs in timeO(m) , neglecting the time required to initialise all of the vertex variables.
sumber