最小生成树

1.最小生成树定义:

一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。

通俗易懂的讲就是最小生成树包含原图的所有节点而只用最少的边和最小的权值距离

将最小生成树拆分成: 最小 生成 树

树:
• 树中没有环
• 所有的顶点都要在树中
• 对于N条顶点,有N-1条边

最小:
一个图,可以有很多生成树,我们把一棵树的权值相加,得到权值和。因此不同的生成树就会有不同的权值和,而最小生成树就是权值和最小生成树。

普利姆算法(Prim)

     朴素版Prim   O(n^2)      稠密图  这个常用

     堆优化版Prim  O(mlogn)   稀疏图   不常用

克鲁斯卡尔算法(Kruskal)  O(mlogm)      稀疏图这个常用

 

朴素版Prim(与dijkstra相似)

    dis [ i ] <- 很大数

    for 循环,迭代n次

      t <- 找到集合外距离集合最近的点

      用t 更新其他点到集合的距离

      Str [ t ] = true

 

 

 

 

 

 

posted @ 2022-10-24 11:12  焦糖玛奇果  阅读(114)  评论(0)    收藏  举报