数据结构学习
pizicai49
这个作者很懒,什么都没留下…
展开
-
最小生成树
最小生成树 定义:给定一个带权的无向连通图,如何选取一棵生成树,使树上所有边上权的总和为最小。方法:Kruskal算法;Prim算法;Sollin算法一、Prim算法 其核心思想是:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b使得点b到V中任意一点的权值最小,此时将b点也加入集合V;以此类推,现在的集合V={a,b},再从原创 2016-08-05 20:12:45 · 470 阅读 · 0 评论 -
最小生成树—Kruskal 算法
算法的主要思想: 以图的边作为线索,图的存储结构为边集数组的形式(并按其权值大小排列)。按照权值从小到大的顺序每次将一条边加入生成树,若某条边的加入,构成环路,则删除该边。 举个例子:一个图如下:生成的最小树则为权值之和=2+4+6+6=18代码如下:int Find(int *parent,int f) { while(parent[f]>0) {原创 2016-08-06 11:03:55 · 342 阅读 · 0 评论