dijkstra算法floyd算法最小生成树将所有的分成两个集合,一个是已经按照最小值排完顺序的,另外一个是没有排完顺序的,每次在查找从排完顺序的集合到未排完顺序的集合的最短路径,然后将未排完顺序的集合里面的值加入到已排完顺序的集合里。最小生成树算法:例题,第一行输入N和M,代表点的个数和他们之间存...
分类:
其他好文 时间:
2014-07-17 23:20:31
阅读次数:
335
最标准的最小割算法应用题目。
核心思想就是缩边:先缩小最大的边,然后缩小次大的边,依此缩小
基础算法:Prime最小生成树算法
不过本题测试的数据好像怪怪的,同样的算法时间运行会差别很大,而且一样的代码替换,居然会WA。系统出错的几率很小,难倒测试系统本题会有错误?
懒得继续测试这道题的系统了,反正算法正确,AC。
#include
#include
#include
c...
分类:
其他好文 时间:
2014-07-10 17:09:23
阅读次数:
159
上一篇文章中提到了最小生成树的Prim算法,这一节继续探讨一下最小生成树的Kruskal算法。什么是最小生成树算法上文已经交代过了,所以我们直接从Kruskal的步骤开始介绍。1.Kruskal算法的步骤:a.假定拓扑图的边的集合是E,初始化最小生成树边集合G={}。b.遍历集合E中的所有元素..
分类:
其他好文 时间:
2014-06-22 10:27:54
阅读次数:
357
克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个。这里面充分体现了贪心算法的精髓。大致的流程能够用一个图来表示。这里的图的选择借用了Wikipedia上的那个。很清晰且直观。首先第一步,我们有一张图,有若干点和边例如以下图所看到的:第一步我们要做...
分类:
其他好文 时间:
2014-06-22 09:46:37
阅读次数:
194
目前已经介绍了Kruskal和Prim算法,他们的复杂度一个是E logE一个是E logV,那么有没有复杂度为E的算法呢?理论上是可能的,但是目前还没有发现该算法。下图是最小生成树算法的发展过程。
从图中可以看到复杂度越來越接近E。
最小生成树的应用
欧几里德最小生成树
问题描述:给定一系列点的坐标,求包含所有点...
分类:
其他好文 时间:
2014-06-21 20:35:44
阅读次数:
368
最小生成树 普里姆&& 克鲁斯卡尔 图形事例构造 并查集...
分类:
其他好文 时间:
2014-06-03 00:17:56
阅读次数:
332
广度优先搜索&深度优先搜索(Breadth First Search &
Depth First
Search)BFS优缺点:同一层的所有节点都会加入队列,所以耗用大量空间;仅能非递归实现;相比DFS较快,空间换时间;适合广度大的图;空间复杂度:邻接矩阵O(N^2);邻接表O(N+E);时间复杂度:...
分类:
其他好文 时间:
2014-05-29 15:33:14
阅读次数:
407
广度优先搜索(Breadth-First-Search)和深度优先搜索(Deep-First-Search)是搜索策略中最经常用到的两种方法,特别常用于图的搜索.其中有很多的算法都用到了这两种思想,比如:Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。BFS...
分类:
其他好文 时间:
2014-05-14 12:29:53
阅读次数:
544
算法训练 安慰奶牛
时间限制:1.0s 内存限制:256.0MB
锦囊1
使用最小生成树算法。
锦囊2
将每条边(a, b)的权值Lj改变为2Lj+Ca+Cb,然后使用最小生成树来计算。
问题描述
Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场...
分类:
其他好文 时间:
2014-05-11 18:43:03
阅读次数:
238