厦门理工3算法设计与(第三章)解读.ppt

计算计算法设计与分析 第三章 贪心算法 最小生成树 设G = (V, E)是无向连通带权图,即一个网络。E的每条边(v, w)的权为c[v][w]。 树的基本性质 连通无回路的图G称为树。 树是点比边多一且连通, q=p–1且连通 。 树是点比边多一且无回路: q=p–1且无回路。 树若添条边就有回路:G无回路,若u, v?G且uv ? E(G),则G+uv中恰有一条回路。 树若减条边就不连通:G连通,对?e∈E(G), G–e不连通。 n个顶点的连通图的生成树含有n – 1条边。 求最小生成树的思路 一个很直观的简单想法:依次选出依据图G的权重较轻的n – 1条边。这样得到的n – 1条边的权重之和肯定是最小的。但是这样是否就得到了G的一棵最小生成树呢? 求最小生成树的两种策略 策略一:在保证连通的前提下依次选出权重较小的n – 1条边(在实现中体现为n个顶点的选择)。 策略二: 在保证无回路的前提下依次选择权重较小的n – 1条边。 Prim算法 基本思想:设G=(V, E)为无向连通带权图,令V={1, …, n}。在保证连通的前提下依次选出权重较小的n – 1条边。 设置一个集合S ,初始化S = {1},T = ?。 如果V–S中的顶点j与S中的某点i连接且(i, j)是E-T中的权重最小的边,于是就选择j(将j加入S),并将(i, j) 加入T中 。 重复执行贪心

文档评论(0)

1亿VIP精品文档

相关文档