Prim算法和Kruskal算法都是从连通图中找到最小生成树的经典算法~
战略上,Prim算法是直接查找,多次寻找邻边的权重最小值,Kruskal是需要先对权重排序后查找的~
所以说Kruskal在算法效率上是比Prim快的,Kruskal可以通过一次权重排序找到最小生成树,而Prim算法需要多次对相邻边进行排序才能找到~
Prim算法的实现过程首先以一个节点作为最小生成树的初始节点,然后通过迭代的方式找到最小生成树中各节点权重最小的边并添加到最小生成树中。 [添加后,形成循环后,跳过此边,选择下一个节点]所有节点添加到最小生成树后,找到了此合并图的最小生成树~
Kruskal算法的实现过程Kruskal算法在寻找最小生成树节点之前,需要按照从小到大的顺序对权重进行排序。 将排序后的加权边依次添加到最小生成树中,如果添加时出现循环,则跳过该边并添加到下一条边。 当所有节点都添加到最小生成树中时,将找到此连接图的最小生成树~