首页 > 编程语言 >最短路径算法

最短路径算法

时间:2024-03-07 09:24:12浏览次数:34  
标签:Floyed 中转 路径 最短 算法 负权

最短路径

我们把边具有权重的图称为带权图,权重可以理解为两点间的距离。一个图中任意两点会有多条路径联通,最短路径就是这些路径中最短的一条。

负环:环中所有边权之重和小于0的环

Floyed算法

算法思想

如何让两个点(假设a到b)的距离变短,只能引入第三个点k,通过k进行中转即a->k->b,当然中转点可以是多个。

算法分析

image

使用邻接矩阵E保存图,每个格子E(i, j)表示点i到点j的最短距离,不相邻的距离为Infinity。遍历每一个点作为中转点k,更新点i与点j的最短路径。

const E: number[][] = []
for(let k=1; i<=n; i++){ // 遍历中转点
	// 点i到点j的最短距离更新
	for(let i=1; i<=n; i++) { 
		for(let j=1; j<=n; j++) {
			E[i][j] = Math.min(E[i][j], E[i,k]+E[k,j])
		}
	}
}

算法总结

时间复杂度:O(n^3)
Floyed算法适用于有负权边的图;但不适用于有负权环的图。

标签:Floyed,中转,路径,最短,算法,负权
From: https://www.cnblogs.com/zhanxinbing/p/18057351

相关文章

  • 【力扣】求组合(回溯算法)
    题目描述2.以下是回溯算法的模版classSolution{private:vector<vector<int>>res;vector<int>path;//这个变量名还是设为path更合适voidbacktrace(intn,intk,intstartindex){//递归结束条件,这个是根据问题要求修改的if(path.s......
  • 负载均衡的常用算法
    1、轮询法将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、随机法通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。由概率统计理论可以得知,随着客户端调用服务端的次数......
  • 二叉树中的最大路径和
    124.二叉树中的最大路径和二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root......
  • JavaScript逆向之RSA算法
    RSA算法简介RSA算法属于非对称加密,加密的密钥称为公钥,解密的密钥称为私钥,公钥和私钥不是同一个。公钥是可以放在外面的,给谁都可以;但是私钥不可以放在外面,只能服务器自己保留,如果私钥泄露了,数据安全将有极大的风险。RSA的公钥和私钥是成对的,不能拆开。python中的RSA在python中......
  • 最短路径问题的Dijastra算法
    求节点间最短路径的Dijastra算法思路概述给定一个权值非负的有向连通图,求某个特定原点(假定节点编号为0)到终点的最短路径权值之和。Dijastra算法采用贪心思想,每次选取最短距离可到达的点确定对应路径权值之和,并用以更新其它邻接点的可到达最短距离直至确定终点或者所有节......
  • TCP 中的 Delay ACK 和 Nagle 算法
    哈喽大家好,我是咸鱼。今天分享一篇大佬的文章,作者:卡瓦邦噶!文章链接:https://www.kawabangga.com/posts/5845教科书介绍的TCP内容通常比较基础:包括三次握手,四次挥手,数据发送通过收到ACK来保证可靠传输等等。当时我以为已经学会了TCP,但是后来在工作中,随着接触TCP越来越多,我......
  • vslam算法
    vslam算法VSLAM(VisualSimultaneousLocalizationandMapping)算法是一种用于机器人自主导航的技术,它允许机器人通过视觉传感器获取环境信息,以估计自己的位姿和周围环境的的三维重建。VSLAM算法可以分为以下几类:1特征法。这种方法通过提取图像中......
  • slam算法
    slam算法SLAM(SimultaneousLocalizationandMapping,同时定位与地图构建)算法是一种集成了传感器测量和计算机视觉技术的自主导航技术,它允许机器人或无人机在未知环境中实时构建地图,并估计自己的位置和方向。SLAM算法可以分为基于视觉的SLAM和基于激光雷达或......
  • 本地快速搭建airflow docker镜像,映射本地路径
    airflow官方文档拉取镜像dockerpullapache/airflow:2.8.2拉取配置文件curl-LfO'https://airflow.apache.org/docs/apache-airflow/2.8.2/docker-compose.yaml'修改刚刚拉取的yaml文件关闭示例dagAIRFLOW__CORE__LOAD_EXAMPLES:'false'映射本地路径volumes:......
  • Python涉及路径相关的知识点
    脚本中的路径信息print('__file__:',__file__)#脚本的位置print('os.path.abspath(__file__)::',__file__)#脚本的绝对路径(和上面的一般情况下是一样的)print('os.path.abspath(__file__):',os.path.abspath(__file__))SCRIPT_DIR=os.path.dirname(os.path.abspat......