//prim看不懂的看看思想就容易懂啦#include
#include
#define inf 0x3fffffff
int map[101][101],flag[101],minpos[101],n,m,pos;
void prim()
{
int t,p,min,sum=0;
minpos[0]=t=1;
flag[1]=1;
while(t<n)
{
min=inf;
...
分类:
编程语言 时间:
2015-04-20 18:29:14
阅读次数:
158
#include
using namespace std;
#define MAXN 10002
int Map[100][100],Vis[100],Low[100],Tree[100];
int n;
void Prim()
{
int i,j,p;
int minc;
memset(Vis,0,sizeof(Vis));
Vis[0]=1;
for( i=1...
分类:
编程语言 时间:
2015-04-20 17:03:16
阅读次数:
174
还是畅通工程Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 29411Accepted Submission(s): 13156Problem De...
分类:
其他好文 时间:
2015-04-18 06:22:03
阅读次数:
213
分解质因数是将一个数差分成为几个质数相乘,本函数n初始取2void prim(int m, int n) { if (m > n) { while (m%n) n++; m/=n; prim(m, n); cout <<...
分类:
编程语言 时间:
2015-04-16 23:28:28
阅读次数:
369
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1380最小树形图也就是有向图的最小生成树。普通的prim无法求解。#include
#include
#include
#include
#include
#include <qu...
分类:
其他好文 时间:
2015-04-14 21:42:14
阅读次数:
179
这个算法的 思想 根 求 最小生成树算法 普里姆(Prim)算法 极其相似。迪杰斯算法 是求 一个顶点 到其他 顶点的 最短路径算法。
下面 上代码:(用的是 邻接矩阵 表示法)
//迪杰斯特拉 最短路径。
//从 vex顶点 到其他 顶点的 最短路径
void shortestPath_Dij(MGraph g,char vex){
int loc = graphLocation(g,ve...
分类:
编程语言 时间:
2015-04-14 16:42:10
阅读次数:
171
看了一上午才看懂~~渣渣学习中#include
#include
#define inf 0x3fffffff
int visit[101],map[101][101],minpos[101],n;
int prim()
{
int pos,t=0,ant=0,p,min;
visit[0]=1;
minpos[t++]=0;
while(t<n)
{
min=inf;
fo...
分类:
Web程序 时间:
2015-04-13 12:57:04
阅读次数:
173
这题思路也很简单,就是用一个最大堆堆去维护Prim算法中的Low数组,把刷新Low数组的操作,变成了刷新堆的操作,由于堆的插入操作位logn,查询时间为常数,因此在边稀疏的情况下,其复杂度与Kruscal接近。这题刚开始老是WA,想了很久,不知道错在哪里,后来发现时因此不能直接去堆中的最小路径,因为...
分类:
编程语言 时间:
2015-04-13 00:10:33
阅读次数:
190
Kruskal比Prim简单的多,对已知边排序,然后从排序的边中跳出N-1条最短的来就可以了,当然,如果在挑的过程中出现环,就丢掉继续找,就只这么直接。如何判定有没有环?很简单,用并查集就可以。比如a-b,b-c,c-a构成了环,那么a-b合并,b-c合并后,如果紧接着最小边是c-a,那么并查集的f...
分类:
其他好文 时间:
2015-04-12 10:38:31
阅读次数:
122
Dijkstra(迪杰斯特拉)算法,用于计算一个节点到其他所有节点的最短路径。要注意的是这个算法中路径的权值不能有负边,如果有负边的话要运用bellman
ford算法。
学习了一下dijkstra算法,感觉跟最小生成树的Prim算法有点类似。感觉dijkstra也是一个贪心的策略,用集合S表示的是已经找出最小路径的点,用dis[]来表示每个点当前距离源点的最短距离。再用一个数组来存储两点之...
分类:
编程语言 时间:
2015-04-12 09:25:20
阅读次数:
180