← capítulo

Floyd-Warshall: caminos más cortos entre todos los pares

La distancia más corta de cada par, en un solo triple ciclo. dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j])

La idea: permitir intermedios uno a la vez

Mira cómo se llena la matriz

Celda (i,j) = mejor distancia hasta ahora · oscuro = ∞ · diagonal verde azulado = 0. Cada cuadro enciende un nodo intermedio; las celdas que mejoran destellan en naranja.

El costo es ciego a la densidad

Floyd-Warshall = plano (ignora la cantidad de aristas). Dijkstra×V = sube con las aristas. Disperso: Dijkstra×V 5× más rápido. Denso: la brecha se cierra a 1.4×; compilado → gana FW.

Extras gratis

Para llevar

Tres líneas, todos los pares. Especialista en chicos/densos; malo para dispersos enormes. Hilo de caminos más cortos completo: BFS · Dijkstra · Bellman-Ford · Floyd-Warshall. Siguiente: A* — una heurística que dirige hacia una meta.