Prim 算法const int INF=0x3f3f3f3f;const int MAXN=110;bool vis[MAXN];int lowc[MAXN];int Prim(int cost[][MAXN],int n){ int ans=0 memset(vis,false,si...
分类:
其他好文 时间:
2015-08-20 12:44:31
阅读次数:
99
这道题目有点变化,条件是每条路的花费不能超过1000也不能小于10,否则不修该条路,所以呢,用kruskal最好,这种方法是检查每一条边,符合情况就加进去,否则就舍去,这样最后判断一下是不是所有的点都有一个共同的祖先就知道是不是连通图。如果用prim算法的话,它每次选的是最小值,得判断一下,实现起来比较麻烦。
代码:(kruskal)
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-08-19 23:43:57
阅读次数:
194
求最小生成树,有一点点的变化,就是有的边已经给出来了,所以,最小生成树里面必须有这些边,kruskal和prim算法都可以,prim更简单一些,有一点需要注意,用克鲁斯卡尔算法的时候需要将已经存在的边预处理一下,并查集转化为同一个祖先,记得要找他们的祖先再转化。普里姆算法只需要将那些已经存在的边都初始化为0就可以了。
kruskal:
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-08-19 20:45:04
阅读次数:
95
Prim算法是和Kruskal算法对应的一个避圈法,两者的百度百科都写得蛮好,不赘述 代码 PASCAL代码 c代码 C++代码 Mathematica代码(如下)Prim[tu_, dian_] := Module[(*中括号要紧跟Module*) {diancount = 1,(*点集*)...
分类:
编程语言 时间:
2015-08-19 19:45:32
阅读次数:
151
比较成熟的算法,百度百科有,不赘述Kruskal算法适用于边稀疏的情形,而Prim算法适用于边稠密的情形主要是各种代码收集,最主要的还是c++的3.1 伪代码3.2 C3.3 matlab3.4 pascal3.5 c++3.6 java代码实现3.7Mathematica实现(如下)(*Krusk...
分类:
编程语言 时间:
2015-08-19 13:16:26
阅读次数:
166
最基础的prim算法
让我们来分析一下prim的思路
给两个数组
一个二维的 以邻接矩阵的形式来表示图
一个一维的 用来表示每个节点到当前树的距离
关键看prim函数
因为每一个点最后都在树里面的
所以我先把第一个节点放进去(这个无所谓,随便你放哪一个)
然后把每个节点到树的距离更新出来(就是邻接矩阵中每个点到第一个节点的距离)
然后我进行一轮for循环
把到树的距离最小的...
分类:
其他好文 时间:
2015-08-18 16:28:22
阅读次数:
166
最小生成树之~普里姆算法
最小生成树是指从连好的图中(有n个点,多于(n-1)条边)选取n-1条边将n个点相互连接,并使得此树的总权值最小。完成此构造的方法著名的有两种,一个是kruskal算法,此算法是对每条边的权值进行排序,然后依次选取小的边添加到树上,并保证是一棵树(即不能产生回路)。另外一个就是prim算法,此算法是从点的角度来考虑。首先用map[][]二维数组存放两点...
分类:
编程语言 时间:
2015-08-18 16:22:00
阅读次数:
142
寻求Prim算法与Dijkstra算法之间的联系,并归纳总结。
分类:
编程语言 时间:
2015-08-18 01:01:59
阅读次数:
241
源代码如下:
#include
using namespace std;
#define MAX_VERTEX_NUM 20
#define infinity 9
typedef int QElemType;
typedef int EdgeData;
typedef char VertexData;
typedef struct
{
VertexData verlist[M...
分类:
编程语言 时间:
2015-08-15 16:35:47
阅读次数:
144
通信网络的最小生成树配置,它是使右侧的生成树值并最小化。经常使用Prim和Kruskal算法。看Prim算法:以防万一N={V,{E}}它是在通信网络,TE它是N设置边的最小生成树。从算法U={u0}(uo属于V)。TE={}开始,复运行下述操作:在全部u属于U。v属于V-U的边(u,v)属于E中....
分类:
编程语言 时间:
2015-08-13 17:26:31
阅读次数:
165