【发布时间】:2009-12-06 19:02:54
【问题描述】:
我正在实现 Kruskal 算法,我想使用线程。但是我不确定我对算法的了解是否足够。
我想我会在最后解决并连接图表的不同部分。谁能指出我正确的方向?谢谢。
【问题讨论】:
标签: java multithreading algorithm graph kruskals-algorithm
我正在实现 Kruskal 算法,我想使用线程。但是我不确定我对算法的了解是否足够。
我想我会在最后解决并连接图表的不同部分。谁能指出我正确的方向?谢谢。
【问题讨论】:
标签: java multithreading algorithm graph kruskals-algorithm
研究的重点是解决 最小生成树问题 高度并行化的方式。带一个 处理器的线性数量 有可能解决问题 O(logn) 时间。 2003 年的一篇论文《快 用于计算的共享内存算法 最小生成稀疏森林 图表”,David A. Bader 和 Guojing 聪表现出务实的态度 可以计算 MST 的算法 5 在 8 个处理器上比 优化的顺序算法。 [9] 通常,并行算法是 基于 Boruvka 的算法——Prim 的 尤其是克鲁斯卡尔的算法 不能扩展到额外的 处理器。
因此,您可能会研究该论文中提到的算法,但 Kruskal 可能不会从多线程中受益。
【讨论】:
Kruskal 的 MST 算法很难并行化,因为它以严格指定的顺序考虑边。你应该看看Boruvka's 算法,它更容易并行化,因为它可以独立地处理部分 MST 的每个子树。
【讨论】: