图的应用(最小生成树,最短路径,拓扑排序,关键路径)

目录

图的应用

1、最小生成树

1.1回顾生成数的概念

1.2 最小生成树的概念与典型应用

1.3怎么找到无向网的最小生成树(利用MST性质)

1.4构造最小生成树方法一:Prim(普里姆)算法(利用了MST性质)

1.4构造最小生成树方法二:Kruskal(克鲁斯卡尔)算法(利用了MST性质)

1.5两种构造最小生成树算法的比较

 2.最短路径

2.1最短路径的定义

2.2最短路径的典型应用

2.3(Dijkstra)迪杰斯特拉算法求单源最短路径

2.4(Floyd)弗洛伊德算法求所有顶点之间的最短路径​

3.拓扑排序

3.1前提知识:有向无环图​

3.2 AOV网与AOE网的概念

3.3有向无环图进行拓扑排序(AOV网)​

3.4拓扑排序的一个重要应用​

 4.关键路径

4.1关键路径用AOE网来表示

4.2关键路径的例题

4.3 未完待续,会持续更新关键路径的思路


图的应用

1、最小生成树

1.1回顾生成数的概念

生成树的概念

生成树要包含所有的顶点,那我们就可以对这个图进行遍历去访问它所有的顶点,遍历有深度优先与广度优先,在访问的过程中把访问的那些边加到生成树上。

例如:

 1.2 最小生成树的概念与典型应用

 最小生成树的概念

最小生成树的典型用途

 

1.3怎么找到无向网的最小生成树(利用MST性质)

 

1.4构造最小生成树方法一:Prim(普里姆)算法(利用了MST性质)

U是放在生成树的顶点,先在U中放入第一个顶点,V-U是指剩余的未加入最小生成树的顶点,然后再找U中所有顶点相关联的所有边中权值最小的顶点,且不能再U内存在过的,

1.4构造最小生成树方法二:Kruskal(克鲁斯卡尔)算法(利用了MST性质)

 克鲁斯卡尔算法需要所有的顶点先列出来,然后再所有的顶点之间找权值最小的边,如果形成了闭合回路(环),则舍弃这条边,再取权值(代价)最小的边。

MST也有点贪心算法的思想

1.5两种构造最小生成树算法的比较

 2.最短路径

最短路径是有向图,最小生成树是无向图

2.1最短路径的定义

 

 2.2最短路径的典型应用

2.3(Dijkstra)迪杰斯特拉算法求单源最短路径

 有一些点像prim算法,但不全像,都是用S先存入起始顶点,T保存剩余的其他顶点,例如此时S中有起始顶点v0,找从v0到其他所有能直达顶点的距离,如果不能直达记为无穷大,选一个权值最小的顶点,加入到S中,例如上图找到的最小直达顶点为v2,此时再找加入v2后v2直达的顶点路径与v0直达的路径权值比较大小,记录权值较小的,v2从T中也就是剩余的定点中与上一次比较直达的顶点权值,再次记录最小的,直到加入S的数目等于所有的顶点为止。

 2.4(Floyd)弗洛伊德算法求所有顶点之间的最短路径

3.拓扑排序

3.1前提知识:有向无环图

 3.2 AOV网与AOE网的概念

 3.3有向无环图进行拓扑排序(AOV网)

每次全都找没有前驱节点的顶点,且顺序无关,所以拓扑排序不唯一

 3.4拓扑排序的一个重要应用

 4.关键路径

 4.1关键路径用AOE网来表示

4.2关键路径的例题

 

 

 4.3 未完待续,会持续更新关键路径的思路

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值