package org.loda.graph;
import org.loda.structure.MinQ;
import org.loda.structure.Queue;
import org.loda.util.In;
/**
*
* @ClassName: KruskalMST
* @Description:Kruskal最小生成树算法
* @author...
分类:
编程语言 时间:
2015-05-26 06:54:36
阅读次数:
168
求解城市之间的最短总距离是一个非常实际的问题,其大意如下:某地区由n个城市,如何选择一条路线使各个城市之间的总距离最短?1.最短总距离算法先来分析一下上述问题。某个地区的n个城市构成一个交通图,可以使用图结构来描述此问题,其对应关系如下:每个城市代表图中的一个顶点。两个顶点间的边即两个城市之间的路径...
分类:
编程语言 时间:
2015-05-16 11:52:35
阅读次数:
171
最小生成树算法。
#include
#include
#include
#include
#include
#include
using namespace std;
const int INF = 1000000000;
int cost[105][105];
int mincost[105];
bool used[105];
int n,a;
int prim() {
for(int...
分类:
Web程序 时间:
2015-04-30 21:57:26
阅读次数:
143
这个算法的 思想 根 求 最小生成树算法 普里姆(Prim)算法 极其相似。迪杰斯算法 是求 一个顶点 到其他 顶点的 最短路径算法。
下面 上代码:(用的是 邻接矩阵 表示法)
//迪杰斯特拉 最短路径。
//从 vex顶点 到其他 顶点的 最短路径
void shortestPath_Dij(MGraph g,char vex){
int loc = graphLocation(g,ve...
分类:
编程语言 时间:
2015-04-14 16:42:10
阅读次数:
171
[算法第一轮复习] kruskal求最小生成树算法
最小生成树算法即MST,有kruskal,prim两种算法,这里主要介绍kruskal
什么是最小生成树?
对于一个图,保证其中每个点都可以连通的最小的花费
1.算法核心
贪心+并查集
2.算法实现过程
克鲁斯卡尔算法
假设 WN=(V,{E}) 是一个含有 n 个顶点的连通网,则按照克鲁斯卡尔算法构造...
分类:
编程语言 时间:
2015-04-09 17:40:48
阅读次数:
191
(0)Dijstra 最短路径和prim最小生成树算法,神似,只是在更新dist时的if条件不同;主要是这种prime 的计算两个集合间的最小值的思想非常重要。
(1)某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。
现在,已知起点和终点,请你计算出...
分类:
编程语言 时间:
2015-04-08 21:40:08
阅读次数:
221
这道题 就是简单的最小生成树算法的应用啦,很明显的..而且把所有边都给出来了,所以就试着自己把prim和kruscal一起实现了.1.prim算法实现 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 #defi...
分类:
其他好文 时间:
2015-04-04 01:04:51
阅读次数:
256
总感觉Dijkstra跟prim思路很像,现在仔细想想虽然都算的上贪心,但是Dijkstra比prim复杂一点prim算法是一个最小生成树算法,它运用的是贪心原理(在这里不再证明),设置两个点集合,一个集合为要求的生成树的点集合A,另一个集合为未加入生成树的点B,它的具体实现过程是:第1步:所有的点...
分类:
其他好文 时间:
2015-03-29 12:12:04
阅读次数:
121
宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。poj3278思路:根节点n, n+1,n-1,2*n三个子节点不断地延伸,目标节点k,寻找这样一天最短的路...
分类:
其他好文 时间:
2015-03-28 18:38:46
阅读次数:
169
Prim:复杂度:O(n^2)用途:最小生成树算法,求一点到所有的位置之和的最小值,不是形成环,是把所有顶点连在一起的最短路适用条件:步骤:跟Dijkstra出奇的相似,只是prim把d和p都变成一个k数组(- -其实一样好吗)而且Dijkstra是第一个for为了记录下标,而prim是为了记录下标...
分类:
编程语言 时间:
2015-03-20 21:41:52
阅读次数:
178