社区
贺利坚的课程社区_NO_2
数据结构基础系列(7):图
帖子详情
每对顶点之间的最短路径
迂者-贺利坚
烟台大学计算机学院教师
领域专家: 系统编程技术领域
2023-01-12 13:51:27
课时名称
课时知识点
每对顶点之间的最短路径
...全文
346
回复
打赏
收藏
每对顶点之间的最短路径
课时名称课时知识点每对顶点之间的最短路径
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
有向图之每一对
顶点
之间
的
最短路径
1 上一篇博客介绍了使用迪杰斯特拉算法求某个
顶点
到其他
顶点
的
最短路径
,这一篇介绍使用弗洛伊德(Floyd)算法求每一对
顶点
之间
的
最短路径
,当然也可以使用迪杰斯特算法来求,求n次就行了。 2 弗洛伊德算法仍从图的带权邻接矩阵出发,其基本思想是: 2.1 假设求从
顶点
vi到vj的
最短路径
2.2 如果从vi到vj有弧,则从vi到vj存在一条长度为arcs[i][j]的路径,该路径不一定是最短的,
所有
顶点
对
之间
的
最短路径
求所有
顶点
对
之间
的
最短路径
的显而易见的方法是,每次以一个
顶点
为源点重复执行dijkstra算法n次来求得,总的执行时间为O(n^3). 下面介绍的是费罗伊德提出的另一个算法。该算法也是用邻接矩阵a表示有向网,其时间复杂度也是O(n^3),但在形式上更简单些。 Floyd算法的基本思想是,从邻接矩阵a开始进行n次迭代,第一次迭代后a[i,j]的值是从Vi到Vj且中间不经过编号大于1的
顶点
(即V2
所有
顶点
之间
的
最短路径
——Floyd算法
Floyd算法
第十三周--每对
顶点
之间
的
最短路径
/* *Copyright (c) 2015 烟台大学计算机与控制工程学院 *All right reserved. *标题:数据结构实践——每对
顶点
之间
的
最短路径
*作者:杨珺 *date:2015年11月23日 *版本:V1.0.1 *操作系统:XP *运行环境:VC6.0 *问题描述:用Floyd算法求解每对
顶点
之间
的
最短路径
。 */
Floyd算法实现每一对
顶点
之间
的
最短路径
之前介绍了Dijkstra算法求某个
顶点
到其他每个
顶点
之间
的
最短路径
,那么求每一对
顶点
的
最短路径
呢?对,可以重复调用Dijkstra算法,Dijkstra算法的时间复杂度是O(n*n),调用n次,所以总的时间复杂度是O(n*n*n),接下来介绍Floyd算法,时间复杂度也是O(n*n*n)下面是书上介绍的 怎么理解呢?无非就是对每一对
顶点
,循环n次(n为图的
顶点
个数),每次比较(比如当前
顶点
编号
贺利坚的课程社区_NO_2
1
社区成员
121
社区内容
发帖
与我相关
我的任务
贺利坚的课程社区_NO_2
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
复制链接
扫一扫
分享
社区描述
烟台大学计算机学院教师,坚持教育情怀,持续进行教学改革。和学生并肩,与不良学风作斗争,为IT菜鸟建跑道,追求快乐与激情的大学。著书《逆袭大学:传给IT学子的正能量》,帮助迷茫中的大学生。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章