从效率上讲第二种好于第一种,因为不用循环判断但是从功能上,如果condition是根据dosomething和doanything变化的
就只能用第一种了
就只能用第一种了
解决方案 »
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Leve
- class
- 怎么实现全选项功能,取出来的列表是用ajaxanywhere做的,取不到列表的checkbox对像,高手帮忙
- ibatis入门级问题
- windows7缓存的原理
- [200分]使用hibernate如何实现多表关联的查询和分页!最好给个实例!!
- 100分!关于怎么封装Jdbc连接oracle存储过程
- 全类树
- 关于Excel的问题
- 开发message driven bean 出现的问题
- 调用weblogic的JMS出错了!请高人指点
- 简单: 看谁答得既快又好
因为第二种只需执行一次if-else,而第一种需执行N次if-else for语句执行情况都是一样的。
如果condition是根据i变化的也只能用第一种了
otherwise,both are different result.
if(condition){
dosomething;
}
else{
doanything;
}
}
算法2
if(condition){
for(int i=0;i<N;i++){
dosomething;
}
}
else{
for(int i=0;i<N;i++){
doanything;
}
}
我来晚了
如果condition不变,两者算法复杂度一样。
不过不应该仅仅在算法效率上比较,最重要的是算法1和算法2有可能得到的是根本不同的两个结果,出现这中情况的条件是。
在方法2中,dosomething会改变condition。