摘要: 最小生成树是一个无向连通图中的一棵包含图中所有顶点的树,且具有最小总权重,在实际场景中常用于网络设计、电力传输、通信网络等领域。 最小生成树有两种常见实现算法,分别是Prim算法与Kruskal算法,它们的核心思想都是贪心。 Prim算法 Prim算法的实现方法类似于Dijkstra算法,都包含一个 阅读全文
posted @ 2025-03-20 18:31 林克还是克林 阅读(56) 评论(0) 推荐(0)
摘要: 顾名思义,最短路算法,就是求一个图中所有的点距某一个点的最短距离,常见的有Dijkstra算法、Bellman-Ford算法、Johnson算法与Floyd算法。 Dijkstra Dijistra算法实际上是一种由贪心与动态规划结合的算法,我们每次都贪心地选择到某个点的最近距离,又动态地更新着距离 阅读全文
posted @ 2025-03-19 19:06 林克还是克林 阅读(83) 评论(0) 推荐(0)
摘要: 本题是一个典型的应用bfs求最短路径/时间的的题目,利用bfs很容易就能解决本题。 解题思路: 我们可以分别用三个数组来存储地图a[]、从起点到某点所需要的时间dit[],以及对是否走过某点vis[]; 在一个矩阵当中,运用bfs时需要对某点的上下左右进行遍历,所以我们可以创建dx,dy两个数组,通 阅读全文
posted @ 2025-03-13 21:55 林克还是克林 阅读(119) 评论(0) 推荐(0)
摘要: 并查集简介 并查集是一种重要的数据结构,主要用于实现节点之间的合并查询操作(例如判断两个节点是否属于同一个连通块(共享同一个父节点的节点组成的集合叫连通块)),在解决不相交集合时有很大的用处;并查集同样常用于处理无向图,来描述接点的连通性,在初始化时,每个节点默认指向自己; 在并查集中,每一个节点有 阅读全文
posted @ 2025-03-13 18:18 林克还是克林 阅读(151) 评论(0) 推荐(0)