给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权的无向图G=(V, E),其中V表示图中点的集合,E表示图中边的集合,n=|V|,m=|E|。 由V中的全部n个顶点和E中n-1条边构成 ...
分类:
编程语言 时间:
2020-02-03 16:14:33
阅读次数:
94
//最小生成树Prim算法 #include <iostream> #include <cstring> using namespace std; const int INF=0x7fffffff/2; int vst[505]; int d[505]; int g[505][505], n, m, ...
分类:
其他好文 时间:
2020-02-02 01:07:13
阅读次数:
65
形似dijsktra算法, 但是不同于dijsktra算法,prim算法是找到当前集合最近的点, 而dij算法是找距离当前起点最近的点 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权 ...
分类:
编程语言 时间:
2020-01-28 14:10:48
阅读次数:
80
题意就是一堆字符串,每个点之间的距离就是字符串不同的字母个数,字符串长度都是7 把不同字符个数存到图里面,然后用prim算法就行 poj放不下map[2001][2001],所以放到全局区 #include<iostream> #include<string> using namespace std ...
分类:
其他好文 时间:
2020-01-26 22:19:31
阅读次数:
77
因为这个图比较稠密,所以用prim算法 每次选到最小边的时候判断,保存最小边里面最大的边 注意要用scanf不然会超时 #include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std ...
分类:
其他好文 时间:
2020-01-26 22:18:55
阅读次数:
59
一、Prim Prim算法的思想是: 1. 整个顶点集为$V$,初始选一个起点$s$,令集合$u=\{s\}, v=\{\}$; 2. 在集合$u$与集合$V u$中的点组成的边中,选一条权值最小的边$u_0v_0$加入MST,并且将$u_0$加入$u$; 3. 重复直到MST有$n 1$条边或$n ...
分类:
其他好文 时间:
2020-01-26 16:06:05
阅读次数:
101
题目描述 根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。) 输入 顶点数n n个顶点 边数m m条边信息,格式为:顶点1 顶点2 权值 Prim算法的起点v 输出 输出最小生成树的权值之和 对两种算法,按树的生长顺序,输出边信息(Krus ...
分类:
其他好文 时间:
2020-01-11 22:07:12
阅读次数:
121
11.5最小生成树(Minimum Spanning Trees) 对加权图求使得权值和最小的生成树,即为最小生成树,基于以点为基准和以边为基准,有两种求最小生成树的方法:Prim算法和Kruskal "最小生成树的具体算法实现" ...
分类:
其他好文 时间:
2020-01-05 00:45:27
阅读次数:
100
关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。 强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。 连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个 ...
分类:
编程语言 时间:
2020-01-04 16:31:27
阅读次数:
88
描述:在分阶段执行操作的情况下,在每一阶段都选择当前最后的解,而不顾将来如何。顾名思义:贪心法/贪婪法是“只顾当下,不计未来”;另外,贪心法并不一定总是最优解,但是一个比较不错的可行解。 应用举例:Prim算法,Kruskal算法,Dijkstra算法 Prim算法简述:Prim算法使得求得得解连续 ...
分类:
编程语言 时间:
2019-12-23 13:08:23
阅读次数:
105