大连海事大学 “十一五”发展规划纲要.pptVIP

  • 1
  • 0
  • 约1.34万字
  • 约 92页
  • 2017-02-14 发布于北京
  • 举报

大连海事大学 “十一五”发展规划纲要.ppt

大连海事大学 “十一五”发展规划纲要.ppt

Kruskal 算法的步骤 第一步 T0??,C(T0)?0,VS??,将 E 中的边按权值从小到大排成序列 Q。 第二步 对所有 v?V,VS?{v},即 VS = {{v1}, {v2}, …, {vn}}。 第三步 如果 |VS| = 1,输出 T0 和 C(T0),停止。否则进行下一步。 第四步 从 Q 中取出权值最小的边 (u, v),并从 Q中删除 (u, v)。 第五步 如果 u,v 在 VS 的元素集 V1、V2 中且 V1 = V2,则转第四步。否则进行下一步。 第六步 T0?T0?{(u, v)},V?V1?V2,C(T0)?C(T0) + w(u, v),转第三步。 例 6.4.1 用 Kruskal 算法求图 6.4.3(a) 给出的赋权图的最小生成树。 解:将图的边按照权值从小到大进行排列: 32 30 28 25 20 16 权 (d, e) (e, g) (a, g) (c, d) (f, g) (d, f) 边 15 12 9 7 5 4 权 (a, c) (d, g) (b, c) (a, e) (c, e) (a, b) 边 第一步 赋初值:令l(u0) = 0,对所有v?V? {u0},令 l(v) = ?,z(v) = u0;S0 = {u0},i = 0。 第二步 若 i = n ? 1,停止;否则令 = V ? Si,进行下一步。 第三步 更新标号:对每个 v? ,令 如果 l(v) l(ui) + w(uiv),则 z(v) = ui,否则 z(v) 不变。 第四步 计算 ,并用 ui+1 记达到最小值的顶点,置 Si+1 = Si?{ui+1},i = i+1,转第二步。 算法终止后,u0 到 v 的距离由 l(v) 的终值给出,从 v 的父节点标号 z(v) 追溯到 u0,就得到 u0 到 v 的最短路的路线。 例 6.3.2 求图 6.3.3 所示的图 G 中 v1 到其余各顶点的最短路及其距离。 图 6.3.3 解:(1) 初始标号。i = 0。 S0 = {v1},v1 = u0,参见图 6.3.4(a)。 图 6.3.4(a) (2) 用 u0 = v1 对各顶点的标号进行更新。i = 1。 = {v2, v3, v4, v5, v6},?v? ,由算法有: l(v2) = min{?, 0+7} = 7, l(v3) = min{?, 0+4} = 4, l(v4) = min{?, 0+?} = ?, l(v5) = min{?, 0+?} = ?, l(v6) = min{?, 0+2} = 2。 由于 v2,v3,v6 的标号被 v1 更新,故这三个顶点的父节点为 v1,即 z(v2) = z(v3) = z(v6) = v1,参见图 6.3.4(b),数字边方框中的符号表示父节点。 又由于 = l(v6) = 2,故u1 = v6,S1 = {v1, v6}。参见图 6.3.4(c)。 图 6.3.4(b) 图 6.3.4(c) (3) 用 u1 = v6 对各顶点的标号进行更新。i = 2。 = {v2, v3, v4, v5},?v? ,由算法有: l(v2) = min{7, 2+?} = 7, l(v3) = min{4, 2+1} = 3, l(v4) = min{?, 2+5} = 7, l(v5) = min{?, 2+5} = 7。 在此次迭代中,v2 的标号不变,v3,v4,v5 的标号被 v6 更新,故

文档评论(0)

1亿VIP精品文档

相关文档