O documento descreve o algoritmo de Floyd-Warshall para encontrar os caminhos mais curtos entre todos os pares de vértices em um grafo. O algoritmo funciona iterando sobre cada vértice como intermediário e atualizando as distâncias entre pares de vértices se o caminho através do vértice intermediário for mais curto. Isso é feito em O(N3) tempo e O(N2) espaço para armazenar a matriz de adjacência do grafo. O algoritmo pode ser usado para problemas como encontrar o fecho transitivo de um grafo direcionado.