408第一季 - 数据结构 - 图II

最小生成树

概念

怎么做?

Prim(普利姆)算法

先看结果图f图,6个顶点的话,那边一定是五条了,而且边加起来是最小的

prim算法要给出一个起点

如果V1是起点的话,离它最近的是v3,距离是1,然后选中圈起来变成一个整体,然后找离这个整体最近的顶点,这里已经标注

然后继续(已标注!)

然后就一步一步到f图那里

Kruskal算法

这个更简单

先找最小的边是1,v1和v3

再选第二小的边是2,然后是3和4,

然后5有很多,选择一个只要不构成环的就行,v2和v3就可以

题目

1

很简单,把前面的搞懂就行

c

2

7不能选有环

a

最短路径

flody属于大纲里面有,但16,7年没考,先不管

Dijkstra

第一步

只管直接到,什么5+3别搞

然后找里面最小的确定一下,这里是5,距离为5是最小的,5已经定下,然后中转到5

第二步

中转到5后看顶点2 这里5到2的距离是3,然后加上本身的距离5,到顶点2的距离是8,比之前的10小,更新掉

然后就是到顶点3的距离是 5+9=14

到顶点4的距离是 5+2 = 7

最后找最新的最小的,是顶点4的7,那顶点4就被确定下来了,并且中转到4

第三步

然后继续啊

中转到4后,4到2到不了,继续8

4到3可以到,距离是6,加上本身的7,到达3的距离是6+7=13,比本来的14更小,更新

然后2是最小的,中转到2

最后一步

不多说了

然后可以看见他们是有继承的

比如这里的1->5

然后着里面的距离存储不是二维是一维数组,算法大王都知道,dist不停的更新

题目

1

c

2

拓扑排序

理解

先找入度为0的点 这里就是顶点1,然后删掉1的出度

然后继续找入度为0的点,这里是2,然后删掉2的出度

一直这样重复

最后得到的顺序 1 2 4 3 5

用途是比如你学习的时候,你得先学1这个基础才能学2,就这个意图

然后拓扑排序是不唯一的

还有就是拓扑排序不能有环

比如这个就找不到下一个是谁了

然后还有是逆拓扑排序,就是找出度为0的,然后删除他的入度

题目

1

可以这样写,不容易漏

b

2

d

3

d

4

主对角线以下都为0就是没有大到小的边的

既然没有大到小的边,那就不可能有回路的

所以拓扑序列是存在的

唯一吗?这里问的拓扑排序唯一吗,别想到其他地方去了

如果是上面那个图,0完后必定是1,然后2,所以唯一

若是下面这个图,0完后可能是1可能是2,所以不唯一

c

相关推荐
Pniubi1 小时前
快速排序(力扣基础)(递归)
java·数据结构·算法
inrichtt11 小时前
第八课时:SPI总线揭秘:四线全双工通信的奥
c语言·数据结构·stm32·单片机·嵌入式硬件
HPtiger12 小时前
数据结构——选择排序
数据结构·算法·排序算法
丑梨数据12 小时前
信创环境里跑文档工具:格式兼容与本地合规的几个坑
数据结构·人工智能·算法·决策树·排序算法
烂蜻蜓12 小时前
Pandas入门教程(四):Series数据结构——创建、索引与常用方法
数据结构·pandas
CS创新实验室20 小时前
一棵树怎么做到“自平衡还不太费力“?——红黑树的旋转与染色
数据结构·算法·红黑树·408·计算机考研
Logic10120 小时前
C语言/数据结构位运算题解:异或XOR找出被挑选一次的果子编号——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
从小白到软工1 天前
4-3 项目-学生成绩管理系统(上)
c语言·开发语言·数据结构·经验分享·ai编程
悠仁さん1 天前
非类型模板参数的特化与偏特化
java·数据结构·算法
haluhalu.1 天前
深入理解 AI Agent(1.2):Harness 工程——模型之外的竞争力
前端·数据结构·人工智能·python·langchain·个人开发