对最大流算法Ford_Fulkerson的研究与理解(二)
继对作者的程序有一定的理解过后,我将源程序的BFS改成DFS的实现 :
public boolean DFS(int src, int des){
//从源点开始访问
Stack<Integer> stack=new Stack<Integer>();
stack.push(src);
visit[src]=true;
int node=src;
while(!stack.isEmpty()){
int i;
for ( i= 0; i < nodes; i++) {
if(!visit[i]&&(capacity[node][i]-flow[node][i]>0)){//下一个点满足条件
stack.push(i);
visit[i]=true;
pre[i]=node;//把路径记录下来
break;
}
}
if(i>=nodes){//没有点满足情况
node=stack.pop();
}else{
node=stack.peek();
}
if(node==nodes-1){
//如果找到终点就提前结束
return visit[node];
}
}
return visit[des];
}
目前测试的两组数据都是正确的!没有发现问题! 呵呵……只是对作者的
// update the flow
//这里仍然是经典的处理 不得不感叹编程之美啊
for (int i=des;pre[i] >= src;i=pre[i]) {
flow[pre[i]][i]+=increment;
flow[i][pre[i]]-=increment;
}
对路径的处理显得有点难明其理!
对最大流算法Ford_Fulkerson的研究与理解(二)相关推荐
- A comparative review of tone-mapping algorithms for high dynamic range video(高动态范围视频色调映射算法的比较研究)(二)
研读论文A comparative review of tone-mapping algorithms for high dynamic range video(高动态范围视频色调映射算法的比较研究) ...
- python交通流预测算法_基于机器学习的交通流预测技术的研究与应用
摘要: 随着城市化进程的加快,交通系统的智能化迫在眉睫.作为智能交通系统的重要组成部分,短时交通流预测也得到了迅速的发展,而如何提升短时交通流预测的精度,保障智能交通系统的高效运行,一直是学者们研究的 ...
- 滑动窗口限流 java_Spring Boot 的接口限流算法优缺点深度分析
点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家(已修复) 下一篇:昨天分享资料不小心把百度网盘深处 ...
- 算法交易系列研究之一
一.算法交易的概念 (一)什么是算法交易 算法交易(Algorithmic Trading)是一种程序化交易方式,它将交易者和市场有机地联系起来.算法交易通常可以减少这两者之间的摩擦,或者说在一定 ...
- 最大流算法之三:ISAP
最大流算法之三:ISAP <转> (2009-08-14 19:24:27) 转载▼ 标签: it 分类: 理论 通常的 SAP 类算法在寻找增广路时总要先进行 BFS,BFS 的最坏情况 ...
- 5种限流算法,7种限流方式,挡住突发流量?
大家好啊,我是阿朗,最近工作中需要用到限流,这篇文章介绍常见的限流方式. 文章持续更新,可以关注公众号程序猿阿朗或访问未读代码博客. 本文 Github.com/niumoo/JavaNotes 已经 ...
- 5种限流算法,7种限流方式,挡住突发流量
前言 最近几年,随着微服务的流行,服务和服务之间的依赖越来越强,调用关系越来越复杂,服务和服务之间的稳定性越来越重要.在遇到突发的请求量激增,恶意的用户访问,亦或请求频率过高给下游服务带来较大压力时, ...
- 经典算法研究系列:二、Dijkstra 算法初探
经典算法研究系列:二.Dijkstra 算法初探 July 二零一一年一月 ====================== 本文主要参考:算法导论 第二版.维基百科. 写的不好之处,还望见谅. 本 ...
- 接口限流算法:漏桶算法令牌桶算法
工作中对外提供的API 接口设计都要考虑限流,如果不考虑限流,会成系统的连锁反应,轻者响应缓慢,重者系统宕机,整个业务线崩溃,如何应对这种情况呢,我们可以对请求进行引流或者直接拒绝等操作,保持系统的可 ...
最新文章
- 为什么不建议用 equals 判断对象相等?
- 主c++ 辅lua luabind protobuf
- modelling notes and trails
- eVC++就是eVC++啊
- docker拷贝文件
- bzoj1705[Usaco2007 Nov]Telephone Wire 架设电话线(dp优化)
- CodeForces 688B - Lovely Palindromes(思路)
- RegExp:正则表达式对象
- mysql asp 字段部分内容_sql 修改、更新、替换 某个字段的部分内容(转载)
- 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
- Marquee无间隙滚动(二)
- javascript 文件转base64
- 前端开发:Async/Await的使用丨蓄力计划
- 多拨软件测试,记一次折腾苏州移动宽带多拨的过程
- #CSDN软件工程师能力认证学习精选# Hadoop基础知识学习
- 随机梯度下降法、牛顿法、冲量法、AdaGrad、RMSprop以及Adam优化过程和理解
- python音乐可视化效果_python 音频可视化
- 2015计算机考研重点,2015考研管理综合真题及答案:逻辑推理一(网友版)
- 桌面软件图标变成白纸的解决方法
- 怎么发表计算机论文,潮州发表计算机论文写作方法,怎么发表论文
热门文章
- web.xml上下文配置
- MYSQL中replace into的用法
- [安卓基础] 008.Android中的显示单位
- C#中模态对话框释放问题
- C#创建Access
- C++ int与string的转化
- office2010表格计算机,2010年职称计算机考试:Word编辑表格
- oracle中alter用法,将oracle的create语句更改为alter语句使用
- python深浅拷贝的底层理解_理解python中的深拷贝与浅拷贝
- vue如何取消下拉框按回车自动下拉_按逗号拆分Excel单元格,再分离中文数字,春节压岁钱统计就用它...