最大流问题 - 预流推进算法交互演示

算法控制及视图
当前步数
0 / 0
当前总流量
0
当前阶段 (Phase)
1
准备就绪
算法流程
1. 初始流量 f = 0;
2. while (true) {
3.   构建残量网络 N(f);
4.   BFS 标号找到容许网络 AN(f) ;
5.   if (t 不在 AN(f) 中) break; // 寻路失败,此时 f 即为最大流
6.   while (AN(f) 中还有到达 t 的路径) {
7.     删除 throughput(v)=0 的节点及相关边;
8.     找到吞吐量最小点 v_min = argmin throughput(v);
9.     对 v_min 执行 Push (向 t 推进) 和 Pull (向 s 拉取);
10.    计算剩余容量,标记饱和边(容量=0);
11.    移除饱和边及由此产生的死路;
12.  }
13.  将本阶段取得的增量 g 更新至总流量 f = f + g;
14. }
图结构编辑
源点 (s)
汇点 (t)
节点管理
边管理
📊 已访问