25.2 Floyd-Warshall算法
# 说明
# 代码
n = 节点数
vertex = [[节点A,节点B,权重]]
temp = [[float('inf')] * n for _ in range(n)]
# 自己到自己是0
for i in range(n):
temp[i][i] = 0
# 初始化
for i in range(len(vertex)):
temp[vertex[0]][vertex[1]] = min(temp[vertex[0]][vertex[1]],vertex[2])
# 计算最短路径,k表示经过某个点的路径
for k in range(n):
for i in range(n):
for j in range(n):
temp[i][j] = min(temp[i][j],temp[i][k]+temp[k][j])
上次更新: 2025/03/22, 03:52:10