Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Floyd
Floyd
Sirve para hallar las mı́nimas distancias entre todos los vértices de un grafo valorado
(G, f ), con G = (V, E), de n vértices V = {v1 , v2 , ..., vn } con valores positivos, es decir
f : E −→ R+ .
Formalmente, la entrada del algoritmo es la matriz de adyacencia n × n M = (aij ),
que en cada entrada aij guarda el valor de la flecha vi → vj ∈ E. El algoritmo utiliza
como recurso una matriz del mismo tamaño que la matriz de adyacencia, la matriz de
resultados parciales D = (dij ). Al inicio, la matriz de resultados parciales toma el valor de
la matriz de adyacencia, es decir, dij = aij . El cuerpo del algoritmo es un bucle indexado
por k, tal que en la iteración k-ésima se compara la suma (componente a componente)
de la fila y columna k-ésimas de la matriz de resultados parciales, quedándose con
el mı́nimo. El resultado del algoritmo, al final del bucle, es la matriz de resultados
parciales, que coincidirá con la matriz de mı́nimas distancias.
En pseudocódigo, representando la entrada dij de la matriz de resultados parciales
D por D[i, j], se tiene: