摘要: Kruskal算法的时间复杂度为O(ElogE)E为边数 Kruskal算法是基于贪心的思想得到的。 首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边, 如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。 至于怎么合并到一个集合,那么这里我们就可 阅读全文
posted @ 2019-10-13 15:05 月亮茶 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 1 void dfs(int x) 2 { 3 if(x>n) 4 { 5 for(int i=1;i<=n;++i) cout<<a[i]; 6 cout<<endl; 7 return; 8 } 9 for(int i=1;i<=n;++i) 10 { 11 if(!v[i]) 12 { 13 阅读全文
posted @ 2019-10-13 13:28 月亮茶 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 1 Input 2 第一行一个整数N,代表要排序的整数个数。 3 第二行包含N个整数,请你为这N个整数按从大到小排序。 4 Output 5 输出降序排列后的结果。 6 Sample Input 7 10 8 8 100 50 22 15 6 1 1000 999 0 9 Sample Output 阅读全文
posted @ 2019-10-13 10:59 月亮茶 阅读(224) 评论(0) 推荐(0) 编辑