当前位置: 首页 > wzjs >正文

焦作北京网站建设软文是什么

焦作北京网站建设,软文是什么,山东省住房和城乡建设厅厅长,新河网站快排seo算法简介: 弗洛伊德算法是一种求解“多源最短路”问题的算法 在弗洛伊德算法中,图一般用邻接矩阵存储,边权可正可负,但是(不能出现负环),整体思路是采用动态规划的思想求解任意两点间的最短距…

算法简介:

弗洛伊德算法是一种求解“多源最短路”问题的算法

在弗洛伊德算法中,图一般用邻接矩阵存储,边权可正可负,但是(不能出现负环),整体思路是采用动态规划的思想求解任意两点间的最短距离。

准备工作:

我们只需要准备一个二维动态,规划数组dp[i][j]表示考虑到当前情况从点i到点j的最短距离,然后给数组初始化为无穷再不断更新最短距离。

算法复杂度分析:

由于需要循环来遍历中转点,起点和终点所以需要使用三层循环,时间复杂都是O(n3),复杂度很高,所以通常用来处理n<=500即图中的点的数量小于500的情况,这也是使用弗洛伊德算法的一个提示。

算法模板:

图片

其中最外层循环表示遍历所有的中转点,次外层循环表示遍历所有的起点,最内层循环表示遍历所有的终点,其中状态转移方程:

图片

表示加入中转点K后与不加入K时比较更新最短路径,这样任意两点的最短路径就会存储在dp数组中,我们根据需要取出即可。

实战应用:

图片

图片

这道题我们需要注意以下几点:

1.题目中给出了400个点是在提示我们可以使用弗洛伊德算法

2.需要注意自己到自己的距离始终为0,初始化要注意dp[i][i]=0

3.要注意无法到达应该输出-1

4.注意无向图的初始化要双向初始化

代码实现:

图片

#include<iostream>

using namespace std;

using ll = long long;

const int N = 405;

const ll inf = 2e18;//定义无穷

ll dp[N][N];

int main()

{

ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//加速输入速度

int n, m, q;

cin >> n >> m >> q;

for (int i = 1; i <= n; ++i)

{

for (int j = 1; j <= n; ++j)

{

dp[i][j] = inf;//初始化无穷

}

dp[i][i] = 0;//自己到自己的距离始终为0,易错点

}

while (m--)//处理m条边权

{

ll u, v, w;

cin >> u >> v >> w;

dp[u][v] = min(dp[u][v], w);

dp[v][u] = min(dp[v][u], w);//无向图的初始化,w为两点间的边权

}

for (int k = 1; k <= n; ++k)

for (int i = 1; i <= n; ++i)

for (int j = 1; j <= n; ++j)

{

dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);

}

while (q--)

{

int st, ed; cin >> st >> ed;

cout << (dp[st][ed] >= inf ? -1 : dp[st][ed]) << "\n";//处理q次询问取出最短距离,路径不存在输出-1

}

return 0;

}

运行结果:

图片

对输入输出的图解:

图片

1到2的最短距离是1,1到3的最短距离是3,2到3的最短距离是2。

下一篇文章会介绍迪杰斯特拉解决最短路径问题。

http://www.dtcms.com/wzjs/76152.html

相关文章:

  • 织梦cms怎么打不开网站免费建站系统
  • 电脑自带的做网站叫什么软件网络推广软件哪个好
  • 国务院建设行政主管部门网站百度app登录
  • 做网站一般多少平台软件定制开发
  • 网站制作教程:初学者肇庆seo
  • 网站建设 搜狐号百度引擎入口官网
  • 群晖ds216j能否做网站百度热榜排行
  • 网站建设可行性搭建网站步骤
  • 用什么网站做头像有哪些平台可以免费发广告
  • 沧州网站建设费用站长工具高清无吗
  • 杭州的网站设计公司近期国内热点新闻事件
  • 怎么注册公司名字和商标seo教程技术
  • 设计开发高中同步测控优化设计答案
  • 网站产品怎么改顺序永久免费自助建站软件
  • 想做网站去哪里做公司网络营销推广方案
  • 网站你懂我意思正能量免费软件广告seo是什么意思
  • 关注济南网站建设大连seo顾问
  • 深圳挖矿app开发优化提升
  • 怎么区分网站是模板做的百度精准推广
  • 天津河北做网站的公司南宁企业官网seo
  • 一重大连工程建设有限公司官方网站seo推广软件
  • 哈尔滨做平台网站平台公司企业官网怎么做
  • 想做一个网站平台怎么做的重庆seo扣费
  • 企业网站的在线推广方法有哪几种谷歌排名优化
  • dedecms网站后台seo排名赚app是真的吗
  • 宣传页模板优化设计七年级上册语文答案
  • 餐饮网站开发性能需求分析软文营销策划
  • 在线房屋设计免费图广东seo点击排名软件哪家好
  • 桦甸市建设局网站qq群推广平台
  • b2b电子商务网站商务模式刷关键词的平台