最小生成树_Prim_Kruskal

图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小。

Prim    O((|V| + |E|) log|V|), performs better when less vertices

首先以一个结点作为最小生成树的初始结点,然后以迭代的方式查询连接初始结点权重最小的边,该边连接的结点并加到最小生成树中,与Dijkstra相似。(加入之后如果产生回路了就要跳过这条边,选择下一个结点。)当所有的结点都加入到最小生成树中后,就找出了这个连通图的最小生成树。


依次添加:A, D, F, B, E, C, G


Kruskal    O((|V| + |E|) log|E|), performs better when less edges

Kruskal算法在找最小生成树结点之前,需要对边的权重从小到大进行排序。将排序好的权重边依次加入到最小生成树中,(如果加入时产生回路就跳过这条边,加入下一条边)。当所有的结点都加入到最小生成树中后,就找到了这个连通图的最小生成树。

依次添加:AD,CE,DF,AB,BE,EG

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容