-
JS编程建议——33:优化循环结构
2017-12-14 08:54:34建议33:优化循环结构循环是最浪费资源的一种流程。循环结构中一点小小的损耗都会被成倍放大,从而影响程序运行的效率。下面从以下几个方面介绍如何优化循环结构,从而提高循环结构的执行效率。(1)优化结构循环...建议33:优化循环结构
循环是最浪费资源的一种流程。循环结构中一点小小的损耗都会被成倍放大,从而影响程序运行的效率。下面从以下几个方面介绍如何优化循环结构,从而提高循环结构的执行效率。
(1)优化结构
循环结构常常与分支结构混用在一起,因此如何嵌套就非常讲究了。例如,设计一个循环结构,结构内的循环语句只有在特定条件下才被执行。使用一个简单的例子来演示,其正常思维结构如下:- var a = true;
- for(var b = 1; b < 10; b ++ ) { // 循环结构
- if(a == true) { // 条件判断
- }
- }
很明显,在这个循环结构中if语句会被反复执行。如果这个if语句是一个固定的条件检测表达式,也就是说,如果if语句的条件不会受循环结构的影响,那么不妨采用如下的结构来设计: - if(a == true) { // 条件判断
- for(var b = 1; b < 10; b ++ ) {// 循环结构
- }
- }
这样,if语句只被执行一次,如果if条件不成立,则直接省略for语句的执行,从而使程序的执行效率大大提高。但是,如果if条件表达式受循环结构的制约,就不能够采用这种结构嵌套了。
(2)避免不必要的重复操作
在循环体内经常会存在不必要的损耗。例如,在下面的这个示例中,在循环内声明数组,然后读取数组元素的值。- for(var b = 0; b < 10; b ++ ) {
- var a = new Array(1,2,3,4,5,6,7,8,9,10);
- alert(a[b]);
- }
显然,在这个循环结构中,每循环一次都会重新定义数组,这样的设计极大地浪费了资源。如果把这个数组放在循环体外会更加高效,例如: - var a = new Array(1,2,3,4,5,6,7,8,9,10);
- for(var b = 0; b < 10; b ++ ){
- alert(a[b]);
- }
在日常开发中,类似这样不必要且重复的事情常常会浪费大量的系统资源,其实只要稍微留意,此类问题就会避免。
(3)妥善定义循环变量
对于for循环来说,它主要利用循环变量来控制整个结构的运行。当循环变量仅用于结构内部时,不妨在for语句中定义循环变量,这样能够优化循环结构。例如,计算1~100数字的和:- var s = 0;
- for(var i = 0; i <= 100; i ++ ) {
- s += i;
- }
- alert(s);
显然下面的做法就不是很妥当,因为单独定义循环变量,实际上增大了系统开销。 - var i = 0;
- var s = 0;
- for(i = 0; i <= 100; i ++ ) {
- s += i;
- }
- alert(s);
-
java循环结构优化策略
2020-09-18 23:48:30 -
程序循环结构的优化
2011-05-22 17:37:00循环结构的程序性能优化注:这些优化源于编译器优化,有可能改善程序性能,但是不一定符合工程原则。
1. 通过消除循环内部的分支,可以提高循环内部的流水,从而提高性能。如下图所示,左边是优化前的结构图,右边是优化后的结构图。
例子:
优化前:
n = getchar(); // A
while( --n ) // B1
{
a += arr[n]; // B2
}
return a; // C
优化后:
n = getchar();
goto L1; // A
L2:
a += arr[n]; // B2
L1: if( --n )
goto L2; // B1
return a; // C
-
6.循环结构详解及循环代码优化技巧
2020-06-19 22:05:331.循环结构 循环结构用来重复执行一条或多条语句。表达这样的逻辑: 如果符合条件, 则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为True , 如果为True 则重复执行循环体里的语句。图示如下: ...1.循环结构
循环结构用来重复执行一条或多条语句。表达这样的逻辑: 如果符合条件, 则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为True , 如果为True 则重复执行循环体里的语句。图示如下:
2. while循环
while循环语法格式如下:
while 条件表达式: 循环体语句
num = 0 while num<=10: print(num) num += 1
3. for循环
for循环通常用可迭代对象的遍历。语法格式如下:
for 变量 in 可迭代对象: 循环体语句
3.1.可迭代对象
python中包含以下几种可迭代对象
- 序列。包含:字符串,列表,元组
- 字典
- 迭代器对象
- 生成器函数
3.2. range对象
range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:(生成的数不包含end)
range(start, end, step)
4. 嵌套循环
一个循环体内可以嵌入另一个循环,一般称为”嵌套循环“或者”多重循环“
for x in range(5): for y in range(5): print(x, end="\t") print() #print()具有换行的作用
ex:打印九九乘法表
for m in range(1,10): for n in range(1,m+1): print("{0}*{1}={2}".format(m,n,(m*n)),end="\t") print()
5. break语句
break语句用于while循环和for循环,用来结束整个循环。当有嵌套循环时,break语句只能跳出最近一层的循环。
while True: a = input("请输入一个字符:") if a.upper()=="Q": print("循环结束") break else: print(a)
6. continue语句
continue语句用于结束本次循环,继续下一次。多个嵌套循环时,continue也是应用于最近的一层循环。
7. else语句
while, for循环可以附带一个else语句(可选)。如果for, while语句结束,则会执行else语句,否则不执行。语法格式如下:
while 条件表达式: 循环体 else: 语句块
for 变量 in 可迭代对象: 循环体 else: 语句块
8. 循环代码优化技巧
虽然计算机性能越来越好,我们仍然需要在代码性能问题上计较。编写循环时,遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算:
-
尽量减少循环内部不必要的计算
-
嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
-
局部变量查询较快,尽量使用局部变量
其他优化手段:
-
连接多个字符串,尽量使用join(),而不要使用+、
-
尽量减少循环内部不必要的计算
-
嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
-
局部变量查询较快,尽量使用局部变量
其他优化手段:
- 连接多个字符串,尽量使用join(),而不要使用+、
- 列表进行元素插入和删除,尽量在列表尾部操作
-
JQuery each()函数如何优化循环DOM结构的性能
2020-10-27 20:21:46each()方法能使DOM循环结构简洁,不容易出错。each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组、多维数组、DOM, JSON 等等在javaScript开发过程中使用$each可以大大的减轻我们的工作量 -
python基础04-循环结构及循环代码的优化
2020-06-19 11:57:00东阳的学习记录 虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题...#循环代码优化测试 #内层循环计算能往外丢的全往外丢 import time start = time.time() for i in range(1000): result = [] for m in ra. -
C语言中对于循环结构优化的一些入门级方法简介
2020-09-03 02:41:27主要介绍了C语言中对于循环结构优化的一些入门级方法,包括算法设计的改进来提高一些并行性等方法,要的朋友可以参考下 -
反循环钻头底部结构参数优化
2020-07-16 18:39:44为解决煤矿井下瓦斯抽排孔施工过程中正循环压风钻进工艺产生的粉尘污染问题,借鉴引射器原理设计近水平反循环钻头,利用单因素试验设计原理对钻头底部5个结构参数进行试验优化研究,得到钻头底部最优结构参数。... -
C#性能优化之路(一)循环结构优化
2020-12-10 20:33:02有些同学会觉得循环有不怎么耗时,从数据库取数据才耗时很长。那么旭东接下来让你知道就算是循环也可能会耗时很长的。 List<T_UserInfo> userList=new T_UserDAL().GetAll();//2000条数据 List<T_... -
for循环次数太多的时间优化_人生苦短,我爱Python011——循环结构
2021-01-01 12:17:36目标:每天学习一点点,每天...循环结构可以减少源程序重复书写的工作量,同时也能够优化程序结构,便于阅读,这是程序设计中最能发挥计算机特长的程序结构。1、遍历循环根据循环执行次数是否是确定,循环可分为确定... -
循环结构
2019-04-02 13:00:22循环就像是一种附加属性,一种优化,对一些存储结构添加循环后,能解决一些内部问题。 循环的类型有:单向和双向。 什么样的结构可以添加循环? 顺序队列 链队列 顺序表 链表 注:栈不需要,因为栈只是对一端... -
DAY5-循环结构、语句、代码优化技巧、推导式、函数基本概念
2020-11-26 00:21:34文章目录一、循环结构二、break语句三、continue语句四、else语句五、循环代码优化技巧六、zip()并行迭代七、列表、字典、集合推导式八、函数的基本概念九、形参和实参十、返回值详解 一、循环结构 循环结构用来重复... -
优化for循环
2019-08-03 16:17:05如何优化for循环结构 循环结构作为三大结构之一,在我们日常程序编写中也用的不少,如何用好for循环,怎样提高for循环的效率就变的至关重要。 外大内小的循环 long startTime = System.nanoTime(); for (int i ... -
Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化
2020-06-25 08:51:56妙用Python内置函数int()快速计算等比数列前n项和 使用Python检查密码安全程度 Python中的循环结构 详解Python对象属性 对Python列表进行封装和二次开发实现自定义栈结构 列表元素循环移位中Python切片的妙用 详解... -
循环优化
2017-08-09 09:25:45循环优化明确一个概念,对方法的调用,即使方法中只有一句语句,也是有消耗的,包括创建栈帧、调用方法时保护现场、调用方法完毕时恢复现场等。所以例如下面的操作:for... i++){…}除此之外,如果在循环结构中,存在循 -
控制语句(选择结构、循环结构)
2020-09-16 19:58:32目录控制语句(选择结构、循环结构)一、选择结构1.1 单分支选择结构1.2 条件表达式详解1.3 双分支选择结构1.4 三元条件运算符1.5 多分支选择结构1.6 选择结构嵌套二、循环结构2.1 while循环2.2 for 循环和可迭代... -
JavaScript性能优化——循环优化
2019-05-18 16:22:24循环是我们在写代码时经常用到的一种结构,而往往在考虑性能优化时,循环的优化能带来很大的收益,特别是当我们不得不循环多次时,如果没对性能进行优化,那毫无疑问会带来性能的负担。 循环的类型 1.for循环 for... -
Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
2020-06-20 09:21:47妙用Python内置函数int()快速计算等比数列前n项和 使用Python检查密码安全程度 Python中的循环结构 详解Python对象属性 对Python列表进行封装和二次开发实现自定义栈结构 列表元素循环移位中Python切片的妙用 详解... -
Java编程语言的流程结构——循环结构
2020-11-04 19:53:21示例:循环结构是针对一件事需要重复做很多遍,即一个代码块需要执行很多次而出现的一种代码优化的结构。 其要素有: 1.循环变量:一般是用来记录循环的次数。 2.循环条件:用来控制是否继续执行循环。 3.循环体:... -
逆向-循环结构
2020-05-26 16:20:58对于循环结构而言,主要就三种,do-while循环,while循环,for循环,这三种循环,在debug下其特点还是比较明显的,在release下的话可以说基本上都被优化为do-while循环(效率高),所以说release下的循环,根据其汇编... -
《Java程序设计基础》 《Java程序设计基础》 第六章-循环结构-实践x_分支结构和循环结构
2020-10-02 09:00:58第六章 循环结构;实践目标;任务一累加求和;累加求和;求水仙花数;任务二优化登录;优化登录;在指导部分的基础上继续优化登录模块系统启动后进入登录界面系统显示如下 1.系统登录 2.退出系统 实现当用户输入不是1或2时... -
for循环优化
2019-10-08 15:30:35完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能...循环结构让我们操作数组、集合和其他一些有规律的事物变得更加的方便,但是如果我们在实际开发当中运用不合理,可能会给程序... -
python学习002(分支结构与循环结构)
2020-08-12 16:51:06分支结构: 1.条件判断 if elif else 2.异常处理 循环结构 遍历循环 for i in range(N) for c in Str for item in List ...循环结构是最费时间的,因此可以计算循环结构所需的时间,从而进行优化。 ..