码迷,mamicode.com
首页 >  
搜索关键字:最小生成树    ( 3197个结果
算法8-4:Kruskal算法
Kruskal算法用于计算一个图的最小生成树。这个算法的步骤如下: 按照边的权重从小到达进行排序 依次将每条边增加到最小生成树中,除非这条边会造成回路 实现思路 第一个步骤需要对边进行排序,排序方法在之前的章节中已经介绍了很多,可以使用优先级队列进行实现,也可以使用归并排序进行实现,这里采用归并排序。 第二个步骤需要判断是否会造...
分类:其他好文   时间:2014-06-22 21:43:31    阅读次数:204
算法8-3:权重图接口
在正式编写最小生成树的算法之前,还需要做一些准备工作。具体的工作就是建立一些基础对象。 边 首先需要建立边的对象。现在的边要增加权重信息,一条边需要记录两个端点以及这条边的权重,因此边类的轮廓如下: public class Edge implements Comparable { public Edge(int v, int w, double we...
分类:其他好文   时间:2014-06-22 20:45:50    阅读次数:147
算法8-1:最小生成树简介
最小生成树是图论中的一个概念。首先介绍一下什么是生成树。生成树就是将一个图中所有的顶点全部连接在一起,并且保证图中没有出现回路。 下图不是生成树,因为没有连接所有的顶点。 下图不是生成树,因为图中有回路。 像下图这样的才是生成树。 生成树的概念介绍完了。那么最...
分类:其他好文   时间:2014-06-22 18:33:47    阅读次数:202
无向图最小生成树Kruskal算法
问题 最小生成树的Kruskal算法 描述:有A、B、C、D四个点,每两个点之间的距离(无方向)是(第一个数字是两点之间距离,后面两个字母代表两个点):(1,'A','B'),(5,'A','C'),(3,'A','D'),(4,'B','C'),(2,'B','D'),(1,'C','D') 生成边长和最小的树,也就是找出一种连接方法,将各点连接起来,并且各点之间的距离和最小。...
分类:其他好文   时间:2014-06-22 16:49:27    阅读次数:392
无向图最小生成树Prim算法
无向图最小生成树的Prim算法,在实现上方法各异。本文演示了用Python是实现的方法,特别是应用了Python有的一个heapq排序方法,让代码更简洁。...
分类:其他好文   时间:2014-06-22 16:11:00    阅读次数:176
SDUT OJ-2896
E Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 给出一个带权无向图,求出其最小生成树。保证图连通。 输入 对于每组数据: 第一行输入n,m。表示此图有n(n 接下来m行,每行u,v,w。表示u,v之间有一条权值为w的边。 输出  对于每组数据,输出一...
分类:其他好文   时间:2014-06-22 11:30:30    阅读次数:213
最小生成树之Kruskal算法
上一篇文章中提到了最小生成树的Prim算法,这一节继续探讨一下最小生成树的Kruskal算法。什么是最小生成树算法上文已经交代过了,所以我们直接从Kruskal的步骤开始介绍。1.Kruskal算法的步骤:a.假定拓扑图的边的集合是E,初始化最小生成树边集合G={}。b.遍历集合E中的所有元素..
分类:其他好文   时间:2014-06-22 10:27:54    阅读次数:357
贪心算法(Greedy Algorithm)之最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
克鲁斯卡尔算法(Kruskal's algorithm)是两个经典的最小生成树算法的较为简单理解的一个。这里面充分体现了贪心算法的精髓。大致的流程能够用一个图来表示。这里的图的选择借用了Wikipedia上的那个。很清晰且直观。首先第一步,我们有一张图,有若干点和边例如以下图所看到的:第一步我们要做...
分类:其他好文   时间:2014-06-22 09:46:37    阅读次数:194
算法8-2:最小生成树贪婪算法
为了简化问题,我们需要作出一些假设。假设图中每条边的权重都是不一样的,假设整个图是连通的。这样假设的目的就是让最小生成树的计算结果是唯一的。 图的切割 介绍算法之前,需要先了解图的切割。图的切割就是将顶点分割成两部分,切到的边称之为交叉边。下图红色的先就是交叉边。 在最小生成树中,无论如何切割,最小生成树总是从交叉边中选择最小的...
分类:其他好文   时间:2014-06-21 23:51:30    阅读次数:316
算法8-5:Prim算法
Prim算法用于计算最小生成树。Prim算法分为两种,一种是懒汉式,一种是饿汉式。 懒汉式Prim 懒汉式Prim算法步骤如下: 首先将顶点0加入到MST中 从MST与未访问顶点之间边中选出最短的边,在满足MST的前提下,将这条边加入到MST 代码 import java.util.LinkedList; import jav...
分类:其他好文   时间:2014-06-21 20:37:01    阅读次数:289
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!