Kruskal算法求最小生成树-南京大学.ppt

* * * * * * * * * 生成树 离散数学─树 南京大学计算机科学与技术系 内容提要 生成树 深度优先搜索 广度优先搜索 有向图的深度优先搜索 回溯 最小生成树算法 生成树 定义:若图G的生成子图是树,则该子图称为G的生成树。 无向图G连通 当且仅当 G有生成树 证明(充分性显然): ? 注意:若G是有简单回路的连通图,删除回路上的一条边,G中的回路一定减少。(因此,用“破圈法”总可以构造连通图的生成树) 简单无向图G是树 当且仅当 G有唯一的生成树。 注意:G中任一简单回路至少有三条不同的边。 构造生成树:深度优先搜索 a c b e d e a c b e d e 深度优先搜索算法 Procedure DFS(G: 带顶点v1, …,vn的连通图) T:=只包含顶点v1的树; visit(v1); Procedure visit(v: G的顶点) for v每个邻居w { if w不在T中 then { 加入顶点w和边{v, w}到T; visit(w); } } depth-first search tree Normal spanning trees are also called depth-first search trees. 构造生成树:广度优先搜索 a b e

文档评论(0)

1亿VIP精品文档

相关文档