计算网络的最大流量

发布于 2024-10-04 01:19:41 字数 58 浏览 5 评论 0原文

我们能否找到一种算法(以线性时间)计算树状网络的最大流量,即对于删除汇(及其相关边)留下一棵树的网络。

can we find an algorithm which computes (in linear-time) the maximum flow for tree-like networks, that is, for networks such that the removal of the sink (and its associated edges) leaves a tree.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

辞慾 2024-10-11 01:19:41

是的,只需运行如下所示的代码:

maxf(s) {
  if (s == sink) return s.in_capacity;
  ret = 0;
  foreach(c in children(s)) ret += maxf(c);
  return min(ret, s.in_capacity);
}

使用 s 等于源的初始调用(我们假设源的 in_capacity 为无穷大)。

Yes, just run something like the following:

maxf(s) {
  if (s == sink) return s.in_capacity;
  ret = 0;
  foreach(c in children(s)) ret += maxf(c);
  return min(ret, s.in_capacity);
}

Use an initial call with s equal to the source (we assume that the source has an in_capacity of infinity).

甜心 2024-10-11 01:19:41

Ford-Fulkerson 的复杂度为 O(E*f),其中 E 是边数,f 是最大流,如果问题中的 E 或 f 具有恒定的上限,则将其视为线性。

Ford-Fulkerson is O(E*f) where E is the number of edges and f the maximum flow, which would be considered linear if you have a constant upper bound on E or f in your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文