无论是普里姆算法还是克鲁斯卡尔算法,他们考虑问题的出发点都是:为了使生成树上边的权值之和达到最小,则应使生成树种每一条边的权值尽可能的小。
普里姆算法是以某顶点为起点,逐步找各个顶点上最小权值的边来构建最小生成树的。
现在我们换一种思考方式,我们从边出发,因为权值是在边上嘛,直接去找最小权值的边来构建生成树是自然的想法,这也是克鲁斯卡尔算法的精髓。
代码如下:
无论是普里姆算法还是克鲁斯卡尔算法,他们考虑问题的出发点都是:为了使生成树上边的权值之和达到最小,则应使生成树种每一条边的权值尽可能的小。
普里姆算法是以某顶点为起点,逐步找各个顶点上最小权值的边来构建最小生成树的。
现在我们换一种思考方式,我们从边出发,因为权值是在边上嘛,直接去找最小权值的边来构建生成树是自然的想法,这也是克鲁斯卡尔算法的精髓。
代码如下: