73 图的遍历 - read.pptVIP

  • 5
  • 0
  • 约3.84千字
  • 约 19页
  • 2017-08-16 发布于天津
  • 举报
图的遍历一深度优先搜索深度优先搜索遍历步骤二广度优先搜索广度优先搜索遍历步骤最小生成树求最小生成树典型用途讨论如何求得最小生成树二普里姆算法普里姆算法思想令集合的初值为集合从所有结点和结点的带权边中选出具有最小权值的边将结点加入集合中将边加入集合中如此不断重复当时最小生成树便构造完毕三克鲁斯卡尔算法克鲁斯卡尔算法思想设无向连通带权图其中为结点的集合为边的集合设带权图的最小生成树由结点集合和边的集合构成其初值为既初始时最小生成树只由带权图中结点集合组成各结点之间没有一条边这样最小生成树中的各个结点

8.4 图的遍历 一、深度优先搜索( DFS ) 深度优先搜索(遍历)步骤: 二、广度优先搜索( BFS ) 广度优先搜索(遍历)步骤: 8.5 最小生成树 3.求最小生成树 4、典型用途: 讨论:如何求得最小生成树? 二、普里姆算法 1、普里姆(Prim)算法思想 令集合U的初值为U={u0},集合T={}。从所有结点u∈U和结点v∈V\U的带权边中选出具有最小权值的边(u,v),将结点v加入集合U中,将边(u,v)加入集合T中。如此不断重复,当U=V时,最小生成树便构造完毕。 三、克鲁斯卡尔(Kruska)算法 1、克鲁斯卡尔算法思想 设无向连通带权图G=(V,E),其中V为结点的集合,E为边的集合。设带权图G的最小生成树T由结点集合和边的集合构成,其初值为T=(V,{}),既初始时最小生成树T只由带权图G中结点集合组成,各结点之间没有一条边。这样,最小生成树T中的各个结点各自构成一个连通分量。然后,按照边的权值递增的顺序考察带权图G中边集合E的各条边,若被考察的边的两个结点属于T的两个不同的连通分量,则将此边加入到最小生成树T中,同时,把两个连通分量连接为一个连通分量;若被考察的边的两个结点属于T的同一个连通分量,则将此边舍去。如此下去,当T中的连通分量个数为1时,T中的该连通分量即为带权图G的一棵最小生成树。 2、克鲁斯卡尔算法示例: 8.6

文档评论(0)

1亿VIP精品文档

相关文档