算法导论—最小生成树

华电北风吹
日期:2016/1/16

常用的最小生成树算法有Prime算法和Kruskal算法。Prime算法基于节点,Kruskal基于边。

1、Prime算法
Prime算法属于贪心算法,与广度优先搜索类似。保持一个属于已发现的最小生成树节点的集合。每一次从未在树中的节点中选择一个与当前树中节点集合距离最近的节点,将这个边和节点加入到树中。
为了方便一般用一个数组来记录所有节点到树中节点的距离,选择树根节点以后,最小生成树每添加一个节点就遍历这个节点的边表,更新未选择节点到这个树的距离。

2、Kruskal算法
Kruskal算法也属于贪心算法。Kruskal先对所有的边排序,每次选择边在保证不构成环的前提下,选择权重最小的边,直到把所有节点连接成一个树。

你可能感兴趣的:(算法导论—最小生成树)