两个for循环的优缺点
来源:互联网 发布:美利达淘宝 编辑:程序博客网 时间:2024/05/16 07:05
1.白盒测试方法中的代码检查法需要重点考虑代码的执行效率,阅读以下两个循环,回答问题1和问题2。
循环1:
for (i=0;i<n;i++)
{
if(condition)
DoSomething();
else
DoOtherthing();
}
循环2:
if(condition)
{
for (i=0;i<n;i++)
DoSomething()
}
else
{
for (i=0;i<n;i++)
DoOtherthing();
}
问题1:循环1的优点和缺点。
问题2:循环2的优点和缺点。
分析:
前者:
优点:程序简洁
条件判断出现在For里面,意味着,即使我在dosomething()或dootherthing()这2个函数中改变了condition的值,For循环也能正确执行我的意图,因为它在每次循环中都会重新检测conditon的值并针对condition的值做不同动作,所谓以不变应万变,这是难能可贵的.
缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
如果condition一直未曾改变,我们可怜的if必须每次循环都判断一下condition的真假.牺牲了运行时效率.
后者:
优点:循环的效率高。只进行一次判断,运行时效率高.适合那种condition的值不会改变的情况.
缺点:由于只在一开始进行一次判断,所以失去的改变condition的值的机会,也就是说,即使我在dosomething()中改变了condition的值为false,这个程序也不会改变它的判断,它依然执行着dosomething()的循环.我们不能随时更换我们需要进行的动作。这是牺牲了弹性。
N较大时,建议采用后面这种写法,由于前者老要进行逻辑判断,打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
- 两个for循环的优缺点
- 两个for循环的优缺点
- 两个for循环的优缺点
- 两个for/if循环的优缺点
- 请简述以下两个for 循环的优缺点
- 增强for循环的优缺点
- for循环与while循环的优缺点
- 174、请简述以下两个for循环的优缺点(5分)
- 两种for循环的优缺点
- for循环和while循环优缺点
- java中两个for循环的区别
- 两个并行 for 循环 的问题
- 对比for 循环和while 循环,两种形式的优缺点各是什么?
- 递归与循环的优缺点
- 递归与循环的优缺点
- 递归与循环的优缺点
- 递归与循环的优缺点
- 两个for循环输出菱形
- shell脚本之sed使用----替换、变量、转义字符
- 第8部分:打印机的奥秘(总结)
- 关于点击状态栏回到顶部的问题
- 001、清除Xcode中的所有描述文件(mobileprovision)
- 解读分库分表中间件Sharding-JDBC
- 两个for循环的优缺点
- GitHub网页版指南
- 谷歌浏览器(Chrome)离线包的下载方法!
- AutoCompleteTextView悬浮提示列表创建原理简单分析
- 开博啦!
- 此证书的签发者无效
- Android RecyclerView 使用完全解析 体验艺术般的控件
- 002、iOS开发-NSLog不打印设置
- 监控Oracle数据库