SLOW(FASTER)-ALL-PAIRS-SHORTEST-PATHS

这个算法的核心思想是给定矩阵l和u,返回矩阵w。也就是它把已经计算出来的最短路径延长一条边。每次和最初L矩阵结合。

#include <cstdlib>
#include <iostream>
#define N 9999
using namespace std;
//这个题目需要申请三个矩阵,l矩阵一直不变即为原始矩阵,w矩阵是需要不断进行更新的,u矩阵为w矩阵赋给的值,以供后面修改w。 
int l[5][5] = { {0, 3, 8, N, -4}, {N, 0, N, 1, 7}, {N, 4, 0, N,N}, {2, N, -5, 0, N}, {N, N, N, 6, 0}}; 
//int l[6][6] = { {0, N, N, N, -1, N}, {1, 0, N, 2, N, N}, {N,2, 0, N, N, -8}, {-4, N, N, 0, 3, N}, {N, 7, N, N, 0, N}, {N, 5,10, N, N, 0}};
int w[5][5];
int u[5][5];
void print()
{
      for(int i = 0; i < 5; i++)
      {
              for(int j = 0; j < 5; j++)
                      cout<< w[i][j]<< " ";
              cout << endl;
      }
}

void ExtendShortestPath()
{
      intt;
      for(int i = 0; i < 5; i++)
              for(int j = 0; j < 5; j++)
              {
                      t = N;
                      for(int k = 0; k< 5; k++)
                      {
                             
                              if(u[i][j]> u[i][k] + l[k][j]&& t > u[i][k] +l[k][j])
                              {
                       
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值