数据结构——基于C++语言(微课版) 课件 9-最小生成树.ppt

数据结构——基于C++语言(微课版) 课件 9-最小生成树.ppt

最小生成树问题提出本节内容:最小生成树非连通图的生成森林

一个连通图的生成树是原图的极小连通子图,它包含原图中的n个顶点和使n个顶点连通的n-1条边。一个连通图的生成树不是唯一的,使用不同的方法遍历图,可以得到不同的生成树;从不同的顶点出发,也可能得到不同的生成树。对于一个带权的连通图(即网络),如何找出一棵生成树,使得各边的权值总和达到最小,这是构造网络的最小生成树(MST)问题。最小生成树

最小生成树北京上海南京济南徐州280500320180160600260200青岛大连200问题抽象:对于这样一个有n个顶点的网络,可以有不同的生成树,根据各边的权值,选择一棵代价最小的生成树,即该树各边的权值之和最小,此树便称为最小生成树。

对于非连通图:从图中某一顶点出发,一次调用遍历算法不可能访问到图中所有顶点,只能访问该顶点的所在连通分量的所有顶点;从图的每一个连通分量中的一个顶点出发进行搜索,就可以求得所有连通分量的生成树;所有连通分量的生成树组成了非连通图的生成森林。最小生成树

深度优先生成森林最小生成树ABLMCFDEGHKIJG1非连通无向图(a)(b)GHKI(c)

最小生成树ACDEBFGIHJONMLKG2非连通无向图深度优先生成森林ACDEBFG(a)HIJ(b)KONML(c)

最小生成树最小生成树生成树:所有顶点均由边连接在一起,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档