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

本文介绍了图Floyd-Warshall算法的实现,涉及负环检测;探讨了Prim和Kruskal最小生成树算法;详细讲解了并查集的数据结构,包括路径压缩和UnionBySize方法;以及贪心算法的基础概念和零钱兑换问题的递归解决方案。
摘要由CSDN通过智能技术生成

目录

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

244 图 Floyd Warshall 算法实现3

增加prev值。

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

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

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

245 图 Floyd Warshall 算法实现4

什么时候发现有负环呢?

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

246 图 最小生成树 Prim

247 图 最小生成树 Kruskal

 

248 图 并查集 1

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

union不代表连接实现  

249 图 并查集 2

依次实践证明这个方法。 

250 图 并查集 路径压缩

251 图 并查集 UnionBySize

x 是老大

 

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

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

252 贪心算法 介绍

253 零钱兑换II 递归 实现

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值