是否有针对“洪水问题”的有效算法?

时间:2019-04-02 03:04:05

标签: algorithm graph greedy

我必须找出阻碍交通的降雨阈值。


因此,我必须打印降水量阈值以阻止流量。


例如)
3 3
0 1 2
1 2 3
0 2 6
输出:3


是否有解决此问题的好的算法或关键字?

谢谢

1 个答案:

答案 0 :(得分:1)

找到具有最大总洪水能力的生成树。该树中最小的边缘容量是网络断开连接的阈值。

“最大容量”树与边权重等于负容量的最小权重生成树相同,因此您可以使用Kruskal或Prim的算法找到该树。

Kruskal的算法显然可以完全满足您的要求-按降序处理边缘,直到连接网络为止:https://en.wikipedia.org/wiki/Kruskal%27s_algorithm

令人惊讶的是,如果您不熟悉不连续的集合数据结构,它的速度非常快。

任何用于查找最小生成树的算法也可以完成相同的工作,但是要证明这一点还需要做一些工作。