图的几个应用


前言

一、最小生成树的两个算法(Prim & Kruskal)

1. 关于Prim

思路:开始时随机选择一个顶点,之后选择一个与当前T顶点集合最近的顶点
直至所有顶点都并入树
在这里插入图片描述
适用于解边稠密的图
生成树不唯一

2.关于Kruskal

每次操作选择权值最小且不在已存在树里的边

在这里插入图片描述 算法适用边稀疏而顶点较多的图

二、关于最短路径的两个算法(Dijkstra & Floyd)

1.关于Dijkstra

预设三个数组
final表示有无访问(初始设为False)
dist表示距离
path表示从哪个结点指向
每轮dist最小的一个数将final设为True,并将他到其他结点的最短路径更新
在这里插入图片描述
不适合带有负权值的图

2.关于Floyd

先求出邻接矩阵,然后再以每个结点作为中转点计算
A[i][j] > A[i][0] + A[0][j](若成立,则更新A[i][j]的值)

在这里插入图片描述

3.拓扑排序

把度为0的点依次出列形成拓扑排序
在这里插入图片描述

有拓扑排序的图一定是有向无环图

拓扑排序一定,图并不唯一
在这里插入图片描述

4. 关键路径相关

事件最早发生时间 & 事件最迟发生时间

从开始顶点出发,遇到多条路径时,选活动时间长的那一条

在这里插入图片描述

从末尾顶点出发,遇到多条路径时,选活动时间少的那一条

在这里插入图片描述

活动最早开始时间 & 活动最晚发生时间

弧尾顶点的事件最早开始时间的值
弧头顶点的事件最迟发生时间的值减去活动时间

在这里插入图片描述

关键活动

活动最迟发生时间减去活动最早发生时间差值为 0的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值