最小生成树有两种算法: 1、prim算法 2、kruskal算法 老师主要给我们讲了第二种算法。最小生成树是包含原图中的所有 n 个结点,并且有保持图连通的最少的边。也就是边权之和最小,并且可以联通所有点的无环图。 1、按边权进行排序 2、找出边权最小的边,如果它们不在一个集合(无环),那就加入最小 ...
分类:
其他好文 时间:
2017-08-19 18:43:54
阅读次数:
123
1 . 二叉树( ( binary .cpp/c/pas)【问题描述】二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键 ...
分类:
其他好文 时间:
2017-08-19 18:32:14
阅读次数:
417
题意:FJ想连接光纤在各个农场以便网络普及,现给出一些连接关系(给出邻接矩阵),从中选出部分边,使得整个图连通。求边的最小总花费。 思路:裸的最小生成树,本题为稠密图,Prim算法求最小生成树更优,复杂度O(n^2) prim: #include #include #include #include... ...
分类:
Web程序 时间:
2017-08-19 15:57:04
阅读次数:
170
Given an undirected weighted graph G, you should find one of spanning trees specified as follows. The graph G is an ordered pair (V, E), where V is a ...
分类:
其他好文 时间:
2017-08-19 12:49:00
阅读次数:
163
Kruskal 最小生成树 重要程度:★★★★☆ 熟练程度:★★★★☆ 代码比较短,还是好理解,就是打的少了点 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; int n,m; struct s ...
分类:
其他好文 时间:
2017-08-15 21:02:20
阅读次数:
205
题意:有n个点,q个套餐,求连接所有的点的最小花费。 题解:用二进制枚举每个套餐,然后跑Kruskal()。。。。。这种写法应该会超时的,可能数据太水了。。。。 ...
分类:
其他好文 时间:
2017-08-12 21:25:52
阅读次数:
174
并查集(Union-find Sets)是一种很静止而有用的数据结构,它主要用于处理一些不相交集合的合并问题。一些常见的用途有求连通子图、求最小生成树的 Kruskal 算法和求近期公共祖先(Least Common Ancestors, LCA)等。 使用并查集时,首先会存在一组不相交的动态集合 ...
分类:
其他好文 时间:
2017-08-11 21:12:40
阅读次数:
219
1)最小生成树 给定一个无向图,如果它的某个子图中任意两个顶点都互相连通并且是一棵树,那么这棵树就叫生成树。如果边上有权值,那么使得边权和最小的生成树叫做最小生成树(MST,Minimum Spanning Tree) 2)应用 比如让你为一个镇的九个村庄架设通信网络,每个村庄相当于一个顶点,权值是 ...
分类:
编程语言 时间:
2017-08-09 21:25:05
阅读次数:
281
1. /* dfs+kruskal dfs:联通块染色+建图(横坐标一条边纵坐标一条边) 最后kruskal思想 把所有联通快联通统计边数和最小边权和即可 */ #include<iostream> #include<cstdio> #include<cstring> #include<algori ...
分类:
其他好文 时间:
2017-08-08 16:44:46
阅读次数:
161