克鲁斯卡尔算法思想的应用,普里姆算法和克鲁斯卡尔算法比较

首页 > 教育 > 作者:YD1662024-05-17 21:23:02

一、克鲁斯卡尔(Kruskal)算法介绍

克鲁斯卡尔(Kruskal)算法,是用来求加权连通图的最小生成树的算法。

基本思想:按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路。

具体做法:首先构造一个只含n个顶点的森林,然后依权值从小到大从连通网中选择边加入到森林中,并使森林中不产生回路,直至森林变成一棵树为止。

二、连通网的最小生成树理解

在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树。

克鲁斯卡尔算法思想的应用,普里姆算法和克鲁斯卡尔算法比较(1)

克鲁斯卡尔算法思想的应用,普里姆算法和克鲁斯卡尔算法比较(2)

三、克鲁斯卡尔(Kruskal)算法——应用场景(公交站问题)

某城市新增7个站点(A, B, C, D, E, F, G) ,现在需要修路把7个站点连通;各个站点的距离用边线表示(权) ,比如 A – B 距离 12公里。问:如何修路保证各个站点都能连通,并且总的修建公路总里程最短? (如下图)

克鲁斯卡尔算法思想的应用,普里姆算法和克鲁斯卡尔算法比较(3)

四、克鲁斯卡尔(Kruskal)算法图解

克鲁斯卡尔算法思想的应用,普里姆算法和克鲁斯卡尔算法比较(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.