天天看點

floyd算法模闆floyd

floyd算法模闆

  • floyd

floyd

初始化:
    for (int i = 1; i <= n; i ++ )
        for (int j = 1; j <= n; j ++ )
            if (i == j) d[i][j] = 0;
            else d[i][j] = INF;

// 算法結束後,d[a][b]表示a到b的最短距離
void floyd()
{
    for (int k = 1; k <= n; k ++ )
        for (int i = 1; i <= n; i ++ )
            for (int j = 1; j <= n; j ++ )
                d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
           

本模闆來自:AcWing算法基礎課

相關部落格:Floyd

繼續閱讀