Floyd - alexdaube/My-Software-Engineering-Guide GitHub Wiki
Floyd Algorithm (Floyd/Warshall)
This is used to find the shortest path value between the arcs of a directed and valued graph
- Complexity => Θ(n3)
//Copy of the valued matrix
NEW_VALUED_MATRIX = INITIAL_VALUED_MATRIX
//In the copy. Loop through all the mediatory nodes
for(INTERMEDIARY_NODE = 1,2,...,NUMBER_OF_NODES)
// Loop through each pair of nodes
// Loop through all the source nodes
for(SOURCE_NODE = 1,2,...,NUMBER_OF_NODES)
// Loop through all the destination nodes
for(DESTINATION_NODE = 1,2,...,NUMBER_OF_NODES)
// Assign shortest Path to intermediary node
NEW_VALUED_MATRIX[SOURCE_NODE, DESTINATION_NODE] =
Min( NEW_VALUED_MATRIX[SOURCE_NODE, DESTINATION_NODE],
NEW_VALUED_MATRIX[SOURCE_NODE,INTERMEDIARY_NODE] +
NEW_VALUED_MATRIX[INTERMEDIARY_NODE,DESTINATION_NODE]))
return NEW_VALUED_MATRIX
[https://www.youtube.com/watch?v=Qdt5WJVkPbY](Floyd-Warshall On Youtube)