Ho fatto un esame olimpico tre giorni fa. Mi sono imbattuto in una bella domanda come segue.Bellman Ford e One Olympiad Questions?
Sappiamo algoritmi facchino-guado controllare tutti i bordi di ogni fase, e per ciascun bordo se,
d (v)> d (u) + w (u, v)
poi d(v)
essendo aggiornato in modo tale che w(u,v)
è il peso del bordo (u, v)
e d(u)
è la lunghezza del percorso di ricerca migliore per vertice u
. se in un passo abbiamo no update for vertexes
, gli algoritmi terminate
. supponendo che questi algoritmi, per trovare il percorso più breve dal vertice s
nel grafico G con il vertice n
dopo lo k < n
, l'iterazione sia terminata, quale delle seguenti è corretta?
1) numero di lati in tutti i percorsi più brevi dal
s
è al massimok-1
2) peso di tutti i percorsi più brevi dal
s
è al massimok-1
3) Graph non ha ciclo negativo.
Chi può discutere di queste opzioni?
risposta molto molto eccellente. vorresti aggiungere ulteriori dettagli? per favore, apprendimi un esempio o un po 'più in dettaglio. Sono geloso. per favore perdi il tuo tempo prezioso per me. –
La parte (1) è vera. L'idea è che in k passi l'algoritmo considera solo percorsi di lunghezza k. In effetti, puoi dimostrare per induzione su k che il percorso che realizza il valore di d (v) dopo k passi è al massimo di k bordi lunghi. –
Se, tuttavia, tutti i bordi vengono valutati contemporaneamente? il primo è di nuovo sbagliato? domanda complicata ... –