- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09图论初步
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 更新,故 v2 的父节点
文档评论(0)