任意两点最短路径问题(Floyd算法)

该算法实现的主要思路是声明一个路径矩阵和一个距离矩阵,利用动态规划的思想,依次将所有顶点作为中转顶点进行遍历,计算出当前路径距离与上一次的结果进行比较,如果当前路径的距离更小则更新两个矩阵。最后只需要访问矩阵便可以得到结果。

具体代码实现:

#include<iostream>
using namespace std;
#define INF 10000	//定义无穷大 
#define size 1001	//最大数据规模 

int path[size][size]//存路劲 
int dis[size][size];	//存距离 

void init()//数组初始化函数 ,这是算法的必要前提 
{
   
	for(int i=0;i<size;i++)
		for(int j=0;j<size;j++)
		{
   
			path[i][j]=-1;//初始化路径为-1 
			if
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值