第7 图n

学习目标 掌握图的概念、存储结构、操作实现及算法复杂度; 掌握图的深度、广度优先搜索遍历算法; 掌握图的生成树概念,普里姆算法、克鲁斯卡算法。 掌握图的拓扑排序方法 取图中任意一个顶点 v 作为生成树的根,之后往生成树上添加新的顶点 w。在添加的顶点 w 和已经在生成树上的顶点v 之间必定存在一条边,并且该边的权值在所有连通顶点 v 和 w 之间的边中取值最小。之后继续往生成树上添加顶点,直至生成树上含有 n-1 个顶点为止。 普里姆算法的基本思想: 在生成树的构造过程中,图中 n 个顶点分属两个集合:已落在生成树上的顶点集 U 和尚未落在生成树上的顶点集V-U ,则应在所有连通U中顶点和V-U中顶点的边中选取权值最小的边。 一般情况下所添加的顶点应满足下列条件: a b c d e g f 例如: 19 5 14 18 27 16 8 21 3 a e 12 d c b g f 7 14 8 5 3 16 21 所得生成树权值和 = 14+8+3+5+16+21 = 67 设置一个辅助数组,对当前V-U集中的每个顶点,记录和顶点集U中顶点相连接的代价最小的边: struct { VertexType adjvex; // U集中的顶点序号 VRType lowcost; // 边的权值 } close

文档评论(0)

1亿VIP精品文档

相关文档