Kullanmak neden'in eğer Genişlik öncelikli Arama (BFS) aynı şeyi daha hızlı yapabiliyorsa Algoritması Dijkstra?
Her ikisi de tek bir kaynaktan en kısa yolu bulmak için kullanılır. BFS dijkstra'nın O((V E)*log(V)) çalışırken O(E V) çalışır.
Ayrıca, Dijkstra bir sürü yönlendirme protokolleri gibi kullanıldığını gördüm.
Neden eğer BFS aynı şeyi daha hızlı yapabiliyorsa dijkstra'nın algoritması kullanın böylece?
CEVAP
Dijkstra her adım için 1 atama mesafeleri sağlar. Mesafeler (ya da ağırlık) yönlendirme örneğin, hız, maliyet, tercih, vb tarafından atanmış olabilir. Algoritma sonra geçilen grafikte her düğüm için bir kaynaktan en kısa yolu verir.
Bu arada BFS temelde sadece genişler arama tarafından bir “adım” (bağlantı, edge, siz nasıl tanımlıyorsanız bu uygulama) her yineleme, hangisi olursa etkisi bulma en küçüğüsayı basamaklarıkaynak herhangi bir düğümde alır (“”) kök.
Neden't varsa PyPy 6.3 kat daha h...
Bu "yeterli" rasgele algorit...
Neden gcc eğer hız yerine BOYUTU için ...
Eğer kayıtları cayır cayır yanan hızlı...
Neden AddRange daha hızlı foreach döng...