最小生成树与线性规划对偶性相关知识解析
1. 最小生成树算法相关
1.1 Kruskal 算法效率优化及低效版本实现
Kruskal 算法的效率与实现时对较小分量的更新操作密切相关。为了直观展示这一点,我们可以创建一个不考虑分量大小的 Kruskal 算法变体。具体操作步骤如下:
1. 复制 KruskalTrace.alg 文件并命名为 KruskalInefficient.alg 。
2. 复制 KruskalTrace.pro 文件。
3. 修改 KruskalInefficient.alg 中的 AddEdge 函数:
- 移除或注释掉分量顺序的比较部分。
- 修改代码,使其总是合并分量 C 和 D,并将 D 中所有顶点的 component[w] 设置为 C。注意 Python 中使用缩进表示块结构。
4. 修改 KruskalInefficient.pro 中默认断点的位置,将 breakpoints = [2, 22] 相应地修改,因为此时 if not CreatingCircuit(u,v): 位于第 17 行。
当在图 spiral.cat 上运行这两个版本的算法时,它们的差异会非常明显。
1.2 Kruskal 算法的其他特性及相关算法
Kruskal 算法
超级会员免费看
订阅专栏 解锁全文
17

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



