INITIAL ISSUE
大家好,
我已经找到了几种算法来完成这项任务。但是所有这些代码都考虑了每个节点或边缘的权重值。
我的目标比这更容易,它是从邻接矩阵中获取距离矩阵。
输入将是:
a b c d e f connected vertices to i
a 0 1 0 0 0 0 1
b 1 0 1 1 0 0 3
c 0 1 0 0 0 0 1
d 0 1 0 0 1 0 2
e 0 0 0 1 0 1 2
f 0 0 0 0 1 0 1
---
Sum: 10 -> Edges = Sum/2 = 5
输出将是:
a b c d e f
a 0 1 2 2 3 4
b 1 0 1 1 2 3
c 2 1 0 2 3 4
d 2 1 2 0 1 2
e 3 2 3 1 0 1
f 4 3 4 2 1 0
提前感谢您的任何建议,
大卫亚历杭德罗。
SOLUTION FOUND
Floyd-Warshall Kernell C 中
for (k = 0; k < n; ++k)
{
for (i = 0; i < n; ++i)
{
for (j = 0; j < n; ++j)
{
if ((dist[i][k] * dist[k][j] != 0) && (i != j))
{
if ((dist[i][k] + dist[k][j] < dist[i][j]) || (dist[i][j] == 0))
{
dist[i][j] = dist[i][k] + dist[k][j];
}
}
}
}
}