12.26_黑马数据结构与算法笔记Java

目录

243 图 Floyd Warshall 算法实现2

244 图 Floyd Warshall 算法实现3

245 图 Floyd Warshall 算法实现4

246 图 最小生成树 Prim

247 图 最小生成树 Kruskal

248 图 并查集 1

249 图 并查集 2

250 图 并查集 路径压缩

251 图 并查集 UnionBySize

252 贪心算法 介绍

253 零钱兑换II 递归 实现


243 图 Floyd Warshall 算法实现2

12.26_黑马数据结构与算法笔记Java_第1张图片

12.26_黑马数据结构与算法笔记Java_第2张图片

244 图 Floyd Warshall 算法实现3

增加prev值。

12.26_黑马数据结构与算法笔记Java_第3张图片

12.26_黑马数据结构与算法笔记Java_第4张图片

 举个例子去理解这个输出结果。

比如第一行,v1到v1自己是null,v1到v2是null,因为不连通,v1到v3是连通的,而且v3的prev值是v1,v1到v4是null,因为不连通。

12.26_黑马数据结构与算法笔记Java_第5张图片

 第一行的第二个的意思是,v1到v2 是从v1到v3到v4最后到v2,因此v2的prev就是v4

245 图 Floyd Warshall 算法实现4

什么时候发现有负环呢?

就是对角线上出现了负数。

12.26_黑马数据结构与算法笔记Java_第6张图片

246 图 最小生成树 Prim

12.26_黑马数据结构与算法笔记Java_第7张图片

12.26_黑马数据结构与算法笔记Java_第8张图片

12.26_黑马数据结构与算法笔记Java_第9张图片

247 图 最小生成树 Kruskal

12.26_黑马数据结构与算法笔记Java_第10张图片

12.26_黑马数据结构与算法笔记Java_第11张图片

 

248 图 并查集 1

12.26_黑马数据结构与算法笔记Java_第12张图片

以谁为基准,谁就是老大,也就是说,索引和值相等的就是老大。

12.26_黑马数据结构与算法笔记Java_第13张图片

union不代表连接实现  

12.26_黑马数据结构与算法笔记Java_第14张图片

249 图 并查集 2

12.26_黑马数据结构与算法笔记Java_第15张图片

依次实践证明这个方法。 

250 图 并查集 路径压缩

12.26_黑马数据结构与算法笔记Java_第16张图片

12.26_黑马数据结构与算法笔记Java_第17张图片

12.26_黑马数据结构与算法笔记Java_第18张图片

251 图 并查集 UnionBySize

x 是老大

12.26_黑马数据结构与算法笔记Java_第19张图片

12.26_黑马数据结构与算法笔记Java_第20张图片

 12.26_黑马数据结构与算法笔记Java_第21张图片

 这样子,就不用考虑x和y谁是老大小弟了,直接传进去就可以了,它会自己判断谁是老大谁是小弟。

也可以改为下面这个,结果是一样的。

12.26_黑马数据结构与算法笔记Java_第22张图片

252 贪心算法 介绍

12.26_黑马数据结构与算法笔记Java_第23张图片

12.26_黑马数据结构与算法笔记Java_第24张图片

12.26_黑马数据结构与算法笔记Java_第25张图片

253 零钱兑换II 递归 实现

12.26_黑马数据结构与算法笔记Java_第26张图片

12.26_黑马数据结构与算法笔记Java_第27张图片

12.26_黑马数据结构与算法笔记Java_第28张图片

 

你可能感兴趣的:(数据结构与算法,笔记,算法,数据结构,开发语言,后端,贪心算法,leetcode)