首页 > 其他分享 >最短路

最短路

时间:2023-07-05 13:35:02浏览次数:28  
标签:短路 路径 BFS Floyd 复杂度 dp

BFS求最短路

BFS可用于求无权图的最短路,时间复杂度为\(O(m)\),\(m\)为图上边的数量。

Floyd求最短路

Floyd用于求任意两点的最短路径,使用于任意图,无论有向无向,正权负权。时间复杂度为\(O(n^3)\),\(n\)为节点数量。
设\(dp[i][j]\)是从\(i\)点到\(j\)的最短路径,最开始时每两个点之间的距离都为无穷大。
需要注意的是,用这种方法求得的\(dp[i][i]\)并不为0,所以需要特判。
当\(dp[i][i]\)为负数时,说明存在负环。

模板

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]);

标签:短路,路径,BFS,Floyd,复杂度,dp
From: https://www.cnblogs.com/cenqi/p/17528272.html

相关文章

  • thinkphp6多用用模式下缩短路由
    场景描述:要做seo,要缩短路由。原xxx.com/home/article/1改为xxx.com/article/1解决办法:index.php<?php//+----------------------------------------------------------------------//|ThinkPHP[WECANDOITJUSTTHINK]//+---------------------------------------......
  • 38. 最短路径
    一、什么是最短路径  在网络中,求两个不同顶点之间的所有路径中,边的权值之和最小的那一条路径,这条路径就是两点之间的最短路径(ShortestPath),其中第一个顶点为源点(Source),最后一个顶点为终点(Destination)。单源最短路径问题:从某固定源点触发,求其到所有其它顶点的最短路径;多源......
  • 感应电机 异步电机定子匝间短路仿真 matlab simulink
    感应电机异步电机定子匝间短路仿真matlabsimulink我将重新表述关于感应电机和异步电机定子匝间短路仿真的内容。感应电机是一种常见的电动机类型,它通过感应原理工作。异步电机是感应电机的一种特殊类型,其定子匝间短路是指在定子绕组中存在短路现象。仿真是使用计算机模型来模拟......
  • 浅谈类 k 短路问题
    u群题题意:\(n\)个数,对于所有大小在\([L,R]\)内的子集求和并排序,求前\(k\)小子集的信息。排序,记数组为\(a_{1,\cdots,n}\)。先考虑\(L=R\)的情况。最小的子集一定是\(a_{1,\cdots,L}\),第二小则是将\(a_L\)改为\(a_{L+1}\),推广到更一般的情况——我们以\([1,L]\)......
  • 6-2 最短路径(迪杰斯特拉算法)
    试实现迪杰斯特拉最短路径算法。函数接口定义: voidShortestPath_DIJ(AMGraphG,intv0); 其中 G 是基于邻接矩阵存储表示的有向图, v0表示源点裁判测试程序样例: #include<iostream>usingnamespacestd;#defineMaxInt32767#defineMVNum100typedefchar......
  • JS 短路运算
    Boolean强制转换:除了NaN、null、""、undefined、0、function这几个为false外,其他皆为true。短路运算的符号:   ||  && ! 或与非。短路运算的原理:当有多个表达式时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值。短路运算的规则:&&找假,先看第一个表达式的......
  • 最短路算法
    目录最短路算法单源最短路-迪杰斯特拉算法最短路算法单源最短路-迪杰斯特拉算法用于计算一个节点到其他所有节点的最短路径Dijkstra算法是贪心算法,是一种求解非负权图上单源最短路径的算法。基本思想是:设置一个顶点的集合S,并不断地扩充这个集合,当且仅当从源点到某个点的路......
  • abc061d <单源最短路, spfa, 判断负环>
    D-ScoreAttack//https://atcoder.jp/contests/abc061/tasks/abc061_d//单源最短(长)路,spfa,判断负(正)环//本题是找最长的路径,实际上取个负号即可//注意,找到一个负环不能直接结束,只能进行标记cyc[]#include<iostream>#include<algorithm>#include<vect......
  • 聊一聊多源最短路径问题(只有5行代码哦)
    暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之......
  • NC23482 小A的最短路
    题目链接题目题目描述小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径。小A从当前的一个景点移动到下一个景点需要消耗一点的体力值。但是景区里面有两个景点比较特殊,它们之间是可以直接坐观光缆车通过,不需要消耗体力值。而小A不想走太多的路,所以他希望你能够......