【笔记】
Kruskal 算法
找出森林中连接任意两棵树的所有边中,具有最小权值的边(u,v)作为安全边,并把它添加到正在生长的森林中。
O(ElgV)
Prim 算法
在每一步,一条连接了树A与G_A=(V,A)中某孤立顶点的轻边被加入到树A中。
二叉堆 O(ElgV)
斐波那契堆 O(E+VlgV)
【练习】
23.2-1 对同一输入图G,Kruskal算法可能得出不同的生成树。
23.2-2 假定图G=(V,E)用邻接矩阵表示,给出Prim运行时间为O(V^2)的实现。
23.2-3
23.2-4
23.2-5
*23.2-6
*23.2-7
23.2-8
本文介绍了两种经典的最小生成树算法:Kruskal算法和Prim算法。Kruskal算法通过选择森林中连接不同树的最小权值边来逐步构建最小生成树,时间复杂度为O(ElgV)。Prim算法则通过迭代地将连接树与非树顶点间的最轻边加入树中,使用二叉堆实现的时间复杂度为O(ElgV),使用斐波那契堆的时间复杂度更优,为O(E+VlgV)。

2452

被折叠的 条评论
为什么被折叠?



