摘要:
1 #include <iostream> 2 #include <algorithm> 3 #include <string.h> 4 using namespace std; 5 const int N = 509,M = 100009; 6 int n1,n2,m,idx,res; 7 int 阅读全文
posted @ 2021-10-22 21:35
Modest-Hamilton
阅读(93)
评论(0)
推荐(0)
摘要:
1 #include <iostream> 2 #include <string.h> 3 using namespace std; 4 5 const int N = 100009; 6 int h[N],e[2*N],ne[2*N],idx; 7 int n,m,color[N]; 8 void 阅读全文
posted @ 2021-10-22 10:54
Modest-Hamilton
阅读(33)
评论(0)
推荐(0)
摘要:
Kruskal和prim不同的点在于prim每次都是找离集合距离最小的点,Kruskal找的是图中最短的边,如果边的两端不连通,则加入生成树中,属于是贪心的策略。 思路: ①每次都找最短的边,因此首先对所有的边进行从小到大的排序,因为排序,所以Kruskal的时间复杂度下限就已经是O(nlogn)了 阅读全文
posted @ 2021-10-22 10:28
Modest-Hamilton
阅读(45)
评论(0)
推荐(0)
摘要:
Prim:每次都选一个距离集合最小的点加入集合中,最终形成的就是最小生成树(与Dijkstra最大的区别,其余代码和Dijkstra没啥不同) 因为和Dijikstra思想差不多,所以也可以用堆优化,但是基本都不用,因为有更好的Kruskal 1 #include <iostream> 2 #inc 阅读全文
posted @ 2021-10-22 10:15
Modest-Hamilton
阅读(46)
评论(0)
推荐(0)

浙公网安备 33010602011771号