《数据结构(C语言版)》教学课件 项目六.pptVIP

  • 2
  • 1
  • 约5.44千字
  • 约 47页
  • 2021-07-20 发布于湖北
  • 举报

《数据结构(C语言版)》教学课件 项目六.ppt

一、生成树和最小生成树 1.生成树 2.最小生成树 1.生成树 在对无向连通图进行遍历时,遍历所得到的连通分量包含了图中全部顶点和n-1条边,它们构成了连通图的一棵生成树。 由深度优先遍历得到的生成树称为深度优先生成树; 由广度优先遍历得到的生成树称为广度优先生成树。 对于非连通图,则需要进行多次遍历过程,每次从一个新的顶点出发,并且每次得到的顶点访问序列是各个连通分量中的顶点集。 2.最小生成树 在一个无向连通网的所有生成树中,各边权值之和最小的生成树称为该无向网的最小生成树。 构造方法有以下两种: (1)普里姆算法 (2)克鲁斯卡尔算法 (1)普里姆算法 假设N=(V,E)是一连通网,其中V为顶点集合,E为边的集合。另设置两个集合U和TE,令U为最小生成树顶点的集合,TE为边的集合。 求最小生成树的过程是: 首先令集合U的初始值为U={u0}( u0∈V),TE={};在所有(u∈U,v∈V-U)的边中选择一条权值最小的边(u, v)∈E,将顶点v加入集合U中,将边(u, v)加入集合TE中;重复此操作,直到U=V为止,此时TE中必含有n-1条边,则T=(U,TE)为N的最小生成树。 构造过程: (2)克鲁斯卡尔算法 假设N=(V,E)是一连通网,其中V为顶点集合,E为边的集合。 首先令N的最小生成树T的初始状态为T=(V,{}),即T由N中

文档评论(0)

1亿VIP精品文档

相关文档