zoukankan      html  css  js  c++  java
  • 算法整理:Floyd_多源最短路

    首先,个人感觉起来,在四大最短路算法中,Floyd是最简单的,也是最好理解的,但是严重受时间和空间的限制。存图方式为二维数组。

    复杂度:T:O(n^3)    M:O(n^2)

    思路:O(1)

    核心思想:

    主题部分通过三个for循环(分别代表中点,起始点,目标点),通过每局来进行松弛操作,不断更新两点之间的最短路径。但是要注意循环的顺序:中点在第一层,点对在二、三层。使用dp的思想

    ,更新 map[i][j]=min(map[i][j],map[i][k]+map[k][j])

    核心代码:

    for(int k=1;k<=n;++k)
      for(int i=1;i<=n;++i)
        for(int j=1;j<=n;++j)
        {
            map[i][j]=min(map[i][j],map[i][k]+map[k][j]);
        }
  • 相关阅读:
    laravel5.6 调用第三方类库
    substring
    SpringSecurity3配置及原理简介
    正则表达式
    type=json
    正则表达式2
    笔记1
    oracle 自带函数大全及例子
    Vector容器类
    HQL
  • 原文地址:https://www.cnblogs.com/-hhs/p/10111038.html
Copyright © 2011-2022 走看看