如何高效构建最小生成树算法?

摘要:最小生成树专题 要补一下 kruskal重构树 boruvka 严格非严格次小生成树 无向图中选择若干条边构成一颗树,使得无向图联通,现在要求一颗边权和最小的树,叫做最小生成树 kruskal (O(mlogm)) 并查集思想 贪心
最小生成树专题 要补一下 kruskal重构树 boruvka 严格/非严格次小生成树 无向图中选择若干条边构成一颗树,使得无向图联通,现在要求一颗边权和最小的树,叫做最小生成树 kruskal \(O(mlogm)\) 并查集思想 贪心 边权从小到大排序,然后从小开始合并节点,已经在一个并查集的点不要合并,然后等到所有点都在一个并查集即联通块数量为\(1\)时停止,记录选择的边 \(m\)为边数 \(n\)为点数 prim 贪心(\(lowcost\)数组记录节点\(i\)与已经选定的点中直接边的距离最小值,\(closest\)数组记录此时这个直接边连接的已经选定的点的编号 初始化选定一个任意点,然后更新\(lowcost\) \(closest\) \(n\)次循环,每一次找到所有未选定点的\(lowcost\)的最小值(多个时选择任何一个),将这个点选定,然后遍历这个点连的边,更新\(lowcost\) \(closest\)) 朴素\(O(n^2)\) 优先队列\(mlogm\) 手写二叉堆\(mlogn\) fib堆\(O(nlogn + m)\) dijkstra复杂度同理