例题:力扣1584. 连接所有点的最小费用
两个都是最小生成树的算法,但需要根据具体的情况来进行调用
Prim算法根据边来构建,比如有n个点,就会有n*(n-1)/2条边,将所有边排序,然后利用并查集将所有边加入到树,复杂度为O(n2+n2log(n2))=O(n2log(n2)),复杂度太大了,仅仅适用于边比较少的情况
Kruskal利用点来构建,如果所有点都可以相连的情况下,复杂度为O(n2)
因此在建立最小生成树时,如果所有点都可以相连用Kruskal,否则用Prim比较好!!!
例题:力扣1584. 连接所有点的最小费用
两个都是最小生成树的算法,但需要根据具体的情况来进行调用
Prim算法根据边来构建,比如有n个点,就会有n*(n-1)/2条边,将所有边排序,然后利用并查集将所有边加入到树,复杂度为O(n2+n2log(n2))=O(n2log(n2)),复杂度太大了,仅仅适用于边比较少的情况
Kruskal利用点来构建,如果所有点都可以相连的情况下,复杂度为O(n2)
因此在建立最小生成树时,如果所有点都可以相连用Kruskal,否则用Prim比较好!!!