数据结构 7.1知识点---最短路径、拓扑排序、关键路径

最短路径
单源最短路径问题:Dijkstra算法

求解思路:
设G=(V,E)是一个带权有向图, 把图中顶点集合V分成两组:

第1组为已求出最短路径的顶点集合(用S表示,初始时S中只有一个源点,以后每求得一条最短路径v,… ,u,就将u加入到集合S中,直到全部顶点都加入到S中,算法就结束了)。
第2组为其余未求出最短路径的顶点集合(用U表示)。

在这里插入图片描述

算法演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
dist[]集合中每次寻找最小顶点,根据上一次加入的新顶点找出所有通往该顶点的路径。

拓扑排序

设G=(V,E)是一个具有n个顶点的有向图,V中顶点序列v1,v2,…,vn称为一个拓扑序列
在一个有向图中找一个拓扑序列的过程称为拓扑排序。

在这里插入图片描述
在这里插入图片描述

关键路径

AOE网
用一个带权有向图(DAG)描述工程的预计进度。
顶点表示事件,有向边表示活动,边e的权c(e)表示完成活动e所需的时间(比如天数)。
图中入度为0的顶点表示工程的开始事件(如开工仪式),出度为0的顶点表示工程结束事件。

从AOE网中源点到汇点的最长路径,具有最大长度的路径叫关键路径。
关键路径是由关键活动构成的,关键路径可能不唯一。

在这里插入图片描述
最早、最迟开始时间
定义图中任一事件v的最早开始时间(early event)ee(v)等于x、y、z到v所有路径长度的最大值

事件v的最迟开始时间:定义在不影响整个工程进度的前提下,事件v必须发生的时间称为v的最迟开始时间(late event) ,记作le(v)。le(v)应等于ee(y)与v到汇点的最长路径长度之差

演示最早开始时间求法

在这里插入图片描述
在这里插入图片描述
关键活动的速度改变
理解成维修、建造工程事件。只有不改变网的关键路径的情况下,提高关键活动的速度有效。
网中有多条关键路径,应该提高在多条关键路径上活动的速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值