码迷,mamicode.com
首页 > Windows程序 > 详细

ACwing(基础)--- Floyd

时间:2020-07-04 13:28:11      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:inf   min   http   pre   核心   复杂   floyd   不能   ima   

技术图片

Floyd算法

  • 时间复杂度是O(n^3)

初始化

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

核心算法

  • 注意:k,i,j不能调换顺序
// 算法结束后,mp[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 ++ )
                mp[i][j] = min(mp[i][j], mp[i][k] + mp[k][j]);
}

ACwing(基础)--- Floyd

标签:inf   min   http   pre   核心   复杂   floyd   不能   ima   

原文地址:https://www.cnblogs.com/bingers/p/13234460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!