JSFiddle - React, Tailwind, and code Playground
JavaScript
const inf = 9999;
const graph = [
[0, 5, 2, 10],
[10, 0, 5, inf],
[inf, inf, 0, 8],
[inf, 1, 3, 0]
];
let floydWarshall = (graph) => {
let mem = [];
const size = graph.length;
for (var i = 0; i < size; i++) {
mem[i] = graph[i].slice();
}
for (var k = 0; k < size; k++) {
for (var i = 0; i < size; i++) {
for (var j = 0; j < size; j++) {
if (mem[i][j] > mem[i][k] + mem[k][j]) {
mem[i][j] = mem[i][k] + mem[k][j];
}
}
}
}
console.log(mem);
};
floydWarshall(graph);