所有顶点均由边连接,且不连接
所有生成树具有以下不同热点:
含有n个顶点n-1条边的图不一定是生成树
利用图的深度优先遍历生成-->深度优先生成树
利用图的广度优先遍历生成-->广度优先生成树
* 设N = (V,E)一个连通网,TE是N上最小生成树的**边的集合** 解释:有一个连通网,TE是最小生成树
* 初始化令U={uo},(uo∈V,)TE={} 解释:初始化:TE没有边,U也没有最小生成树的顶点集合
* 在所有u∈U,v∈V-U的边(u,v)∈E中,找一条代价最小的边(uo,vo) 解释:在所有顶点中随意找一个顶点,此顶点属于并入最小生成树的顶点。然后在与非并入TE的顶点中找一条**代价最小的边**
* 将(uo,vo)并入集合TE,同时vo并于U 解释:将代价最小边并入最小生成树
* 重复上述操作,直到U=V为止,则T=(V,TE)为N的最小生成树 解释:在并入最小生成树中的顶点中,找连接非并入最小生成树顶点的代价最小边,然后重复
* 设N = (V,E)一个连通网,令最小生成树初始状态为**只有n个顶点而无边**的非连通图T=(V,{}),每个顶点自成一个连通分量。
* 在E中选取代价最小的边,该边依附的顶点落在T中不同连通分量上**(不能成为环)**,则将此边加入T中,否则,舍去此边。
* 依次类推,直至T中所有顶顶啊都在同一连通分量上为止。
算法名 | 普里姆算法(Prim) | 克鲁斯卡尔算法(Kruskal) |
---|---|---|
算法思想 | 选择点 | 选择边 |
时间复杂度 | O(n2)(n为顶点数) | O(eloge)(e为边数) |
适应范围 | 稠密图 | 稀疏图 |
原文:https://www.cnblogs.com/lj15941314/p/14800705.html