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

网站建设论文答辩自述wordpress新页面

网站建设论文答辩自述,wordpress新页面,大型网站设计首页实例,深圳高端网站建设怎么样适用情景Floyd算法适用于多源汇最短路,也就是他问你比如说从3号点到6号点的最短路距离,比如说从7号点到20号点的最短路距离,而不是单源最短路(从1号点到n号点的最短路距离)。在这个算法当中允许负权边的存在。但在求最…

适用情景

  1. Floyd算法适用于多源汇最短路,也就是他问你比如说从3号点到6号点的最短路距离,比如说从7号点到20号点的最短路距离,而不是单源最短路(从1号点到n号点的最短路距离)。在这个算法当中允许负权边的存在。但在求最短路距离当中(包括其他算法也一样)是不能够出现负环的,因为这样最短路距离可能变到负无穷去了


时间复杂度

  1. 三重无脑循环,显然O(N^3)。


算法解释

  1. 首先,对于Floyd算法来说,对于图的存储必须要用邻接矩阵来存,不能用邻接表。然后对于邻接矩阵,一开始当然得初始化,这边必须得注意:由于是图,这个矩阵无论是行还是列,有效位都是从一开始。

int dist[N][N];  //N表示图中点的个数+1
  1. 然后Floyd算法是允许这个图当中存在负权边,但是不能出现负环因为在最短路问题当中的话,一旦出现负环,最短路可能变成负无穷)。然后需要对dist数组初始化,这边再提一句:我们现在已经是默认图当中没有负环,好那么现在如果说存在自环的话,肯定是正的,在最短路当中那就不予考虑,于是在初始化的过程当中,如果说i等于j,直接就是0,其他的话就初始化成正无穷,为什么要正无穷?想想就知道了,等会儿我肯定需要min操作

for (int i=1;i<=n;i++)
{for (int j=1;j<=n;j++){if (i==j){dist[i][j]=0;}else{dist[i][j]=0x3f3f3f3f;}}
}
  1. 然后当往这个邻接矩阵当中去输入一条一条图当中的边的时候,由于我们现在是最短路问题,因此我们只需要取小的就可以了,然后如果是自环的话,所以我们默认是没有负环的,因此取小后就是0

while(m--)
{scanf("%d %d %d",&a,&b,&c);dist[a][b]=MIN(dist[a][b],c);
}
  1. 然后接下来就是执行Floyd算法,其实就是三重循环,外循环k从1到n,第二层循环i从1到n,第三层循环j从1到n。然后每一层循环的话就如下比较一下,至于原理的话,这个是与动态规划有关,像我现在的话也掌握不了,先把算法的步骤先记牢吧

for (int k=1;k<=n;k++)
{for (int i=1;i<=n;i++){for (int j=1;j<=n;j++){dist[i][j]=MIN(dist[i][j],dist[i][k]+dist[k][j]);}}
}
  1. 然后当这三重循环结束之后,原先dist数组是用来存边的,现在他已经像孙悟空变身一样,变成了从i到j的最短距离了。当然也有可能的情况就是从i到j的话是走不到的,这时候还谈个屁最短路啊,那如何去判断走不到的这种情况呢?由于是允许存在负权边的情况,因此当在更新的时候有可能会把这个无穷大的值稍微更新了小了一些,因此不能直接dist[ i ][ j ] 等于 0x3f3f3f3f

while(k--)
{scanf("%d %d",&a,&b);if(dist[a][b]>0x3f3f3f3f/2){printf("impossible\n");}else{printf("%d\n",dist[a][b]);}
}

例题

来源:AcWing

854. Floyd求最短路 - AcWing题库

#include <stdio.h>
#define N 210
#define MIN(a,b) ((a)<(b)?(a):(b))
int dist[N][N];
int main()
{int n,m,k,a,b,c;scanf("%d %d %d",&n,&m,&k);for (int i=1;i<=n;i++){for (int j=1;j<=n;j++){if (i==j){dist[i][j]=0;}else{dist[i][j]=0x3f3f3f3f;}}}while(m--){scanf("%d %d %d",&a,&b,&c);dist[a][b]=MIN(dist[a][b],c);}for (int k=1;k<=n;k++){for (int i=1;i<=n;i++){for (int j=1;j<=n;j++){dist[i][j]=MIN(dist[i][j],dist[i][k]+dist[k][j]);}}}while(k--){scanf("%d %d",&a,&b);if(dist[a][b]>0x3f3f3f3f/2){printf("impossible\n");}else{printf("%d\n",dist[a][b]);}}return 0;
}
http://www.yayakq.cn/news/210708/

相关文章:

  • 国家工程建设质量奖网站房房网
  • 永安网站制作做网站国内好的服务器
  • 电子表格做网站框架直播软件排行榜前十名
  • 南京服务好建设网站哪家好百度开户多少钱
  • 福建省建设银行招聘网站儿童教育网站源码
  • wordpress资讯站免费国外医疗静态网站模板下载
  • 北京专业制作网站公司吗php小程序商城
  • 网站设计策划书3000字姓氏头像在线制作免费生成图片
  • 江西个人网站备案做论坛海报设计图片简单
  • 合肥网站建设的价格做网站和做系统哪个难
  • 拖拽建设网站源码附近装修工人电话
  • 自己开个网站多少钱郑州网站建设公司如何
  • 站群cms建站系统免费主流的网站开发技术
  • 搜索引擎网站制作网站设计哪个好
  • 物业网站建设方案什么是全网整合营销
  • 免费无版权图片网站wordpress readd
  • 交互式网站制作wordpress 页面加载特效
  • 婚庆公司网站搭建小程序开发平台有哪些公司
  • hpsocket 网站开发视觉传达设计网站
  • 2000做网站贵么工商注册核名查询系统官网
  • 网站建设刂搜金手指下拉贰伍重视机关网站建设
  • 微信公众号的网站超链接怎么做网上做网站兼职
  • 台州铭企做的网站溧水114网站开发
  • 网站建设与维护管理实训报告百度小程序开发工具下载
  • 济南企业网站建设哪家好wordpress下载环境
  • 用vps做网站网页版梦幻西游水晶宫攻略
  • 平板上做网站的软件已备案域名购买平台
  • 网站开发指的是什么为什么网站关键词没有排名
  • 做造价在那个网站比较好WordPress底部添加运行时间
  • 永久域名最新网站什么是单页网站