triplewoodsaid
Results
1
comments of
triplewoodsaid
从数学的角度分析,已知for循环执行顺序,1:执行变量(仅执行一次)2:执行条件 3:执行代码块区域 4:最后执行++,当执行到第三步时,发现有一个for循环,程序会先执行完内部所有循环 ,之后返回到外部循环。设单次循环执行步骤2和步骤4的时间为T0,内层循环执行代码块区域的时间为T1,内层循环执行的次数为M ,中间层循环执行的次数为N,外层循环执行的次数为X,那么内层循环执行的总次数为M*N*X,中间层为M*X,外层为X,所以循环的总次数为M*N*X+N*X+X,总时间T是执行循环步骤的总时间加上执行代码区域的总时间,即T=(M*N*X+N*X+X)*T0+M*N*X*T1,这里代码不变时,T0和T1不变, 总次数M*N*X不变,(N*X+X)越小,所耗费的时间也会越少。