数据结构 第五章 图论(二) 最小生成树、最短路、关键路径

本文深入探讨了图论中两种核心算法——最小生成树算法(包括Prim算法和Kruskal算法)及最短路径算法(包括Dijkstra算法和Floyd算法)。此外还介绍了关键路径的概念及其在AOE网络中的应用,并简要比较了DFS与BFS算法。

1.最小生成树

在这里插入图片描述

1.Prim算法

1.朴素算法 O(n2)O(n^2)O(n2),适合稠密图
2.堆优化写法 O(mlogn)O(mlogn)O(mlogn),适合稀疏图
m=n2m=n^2m=n2时,堆优化写法比朴素写法慢,所以适合稀疏图。

2.Kruskal算法(并查集)

2.最短路

1.单源最短路 Dijkstra算法,贪心思想O(n2)O(n^2)O(n2)
2.多源汇最短路 Floyd,动态规划思想O(n3)O(n^3)O(n3)

3.关键路径

1.AOE网
2.关键路径:由于AOE网中的有些活动是可以并行进行的(如活动 a1a_1a1a2a_2a2a3a_3a3 就是可以并行进行的),所以完成工程的最短时间是从源点到汇点的最长路径的长度。路径长度最长的路径就叫做 关键路径(Critical Path)

在这里插入图片描述

关键路径是活动的集合,而不是事件的集合。

关键路径的查找过程中主要涉及四个概念,事件(顶点)的最早发生时间ETV,事件(顶点)的最晚发生时间LTV,活动(弧)的最早发生时间ETE,活动(弧)的最晚发生时间为LTE。

1.ETV(Earliest Time Of Vertex):事件最早发生时间,就是顶点的最早发生时间在这里插入图片描述
2.LTV(Latest Time Of Vertex):事件最晚发生时间,就是每个顶点对应的事件最晚需要开始的时间,如果超出此时间将会延误整个工期。在这里插入图片描述
3.ETE(Earliest Time Of Edge):活动的最早开工时间,就是弧的最早发生时间。在这里插入图片描述
4.LTE(Lastest Time of Edge):活动的最晚发生时间,就是不推迟工期的最晚开工时间。在这里插入图片描述#### DFS,BFS对比:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jay_fearless

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值