最小生成树基础

转载 2015年11月20日 15:13:37

【0】README

0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 review 最小生成树的基础知识;
0.2)了解本文的内容是 分析 Prim算法(普利姆算法)和 Kruskal算法(克鲁斯卡尔算法) 的前提;


【1】最小生成树(一句话,所有点相连的边的权值最小)

1.1)我们考虑的问题: 在一个无向图中找出一颗最小生成树。一个无向图G的最小生成树就是由该图的那些连接G 的所有顶点的边构成的树, 且其总价值最低。最小树存在,且仅当G是连通的。

Attention)

  • A1)注意, 在最小生成树中边的条数为 |V|-1;最小生成树是一颗树, 因为它无圈;因为最小生成树包含每一个顶点,所以它是生成树;
  • A2)此外,最小生成树显然包含图的所有顶点的最小的树;
  • A3)应用: 如果我们需要用最少的电线给一所房子安装电路,我们就需要解决最小生成树问题;

1.2)对于任一生成树T, 如果将一条不属于 T的边e 添加进来,则产生一个圈;

  • 1.2.1)如果从该圈中除去任意一条边, 则又恢复生成树的特性;
  • 1.2.2)如果边e 的值比除去的边的值还低, 那么新的生成树的值就比原生成树的值低;
  • 1.2.3)如果在建立生成树时所添加的边在所有避免成圈的边中值最小,那么最后得到的生成树的值不能再改进, 因为任意一条替代的边的值都大于等于已经存在于该生成树中的一条边的值;它指出, 对于最小生成树这种贪欲是成立的;

Attention)下面介绍两种方法以实现 最小生成树, 它们的区别在于最小(值的)边的选取上——Prim算法(普利姆算法)和 Kruskal算法(克鲁斯卡尔算法)

相关文章推荐

HDU 1875 畅通工程再续 基础最小生成树★

看代码就知道了。。 #include #include #include #include #include #include #include const int INF=0x3f3f3f3f; ...

图论基础最小生成树之kruskal算法并查集版(加边法)

#include #include typedef struct {    int x,y;    int w;     }edger; edger edge[900]; int father[90...
  • lszdh
  • lszdh
  • 2011-08-12 15:32
  • 558

hdu 还是畅通工程 (基础)(最小生成树)(Prim算法 && Kruskal算法)

还是畅通工程  Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定...

算法基础 - 最小生成树(Kruscal算法)

最小生成树就是让一个图里,生成一个树状图,任意两个节点只有唯一的路径到达,并且让这个距离最短。Karuscal算法这个算法是相对于Prim算法( 传送门:Prim算法 )的另外一个算法,这个算法主要的...

数据结构基础6.3:最小生成树MST(Prim、Kruskal)

一.最小生成树: 连通图的一次遍历所经过的边的集合及图中所有顶点的集合就构成了该图的一棵生成树,对连通图的不同遍历,就可以得到不同的生成树。 如果无向连通图就是一个网,那么,它的所有生成树中必有一棵边...

最小生成树基础

课本内容~ prim算法

一步一步复习数据结构和算法基础-prim算法(最小生成树)

#include #include #include #define number 20 #define MAX 99999 typedef struct node { int info; //图...

算法基础篇:①最短路 路径还原(Dijkstra输出完整方案)②最小生成树prim算法和kruskal算法解析

算法基础篇:①最短路 路径还原(Dijkstra输出完整方案)②最小生成树prim算法和kruskal算法解析

贪心算法基础之最小生成树 51nod Kruskal算法

问题: 有n个点,m条边。求该图的最小生成树。详细讲解见:http://blog.csdn.net/winter2121/article/details/71588403 ...

poj 1251 Jungle Roads(最小生成树)(基础)

题意: 首先给你一个图,需要你求出最小生成树,输入N个节点,用大写字母表示了节点,然后节点与节点之间有权值。比如有9个节点,然后接下来有n-1行表示了边的情况,拿第一行举例 A 2 B 12 I 2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)