什么是迭代?
答:每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
好比1+2+3+4+......这就是迭代运算
无迭代算法就是要用数学计算公式,提高计算效率,那计算效率高了,程序运行也就快了
好,开始比较 实现1-n的累加
迭代算法
def sumOfN(n):
theSum = 0
for i in range(1, n + 1):
theSum = theSum + i
return theSum
print(sumOfN(1000))
以上这个算法就是从1000开始遍历一个一个加起来,包含一个循环,只要有循环速度就会比较慢,所以迭代算法会影响速度
复杂度为O(n)
非迭代运算
def sumOfN(n):
theSum = (n * (n + 1)) / 2
return theSum
print(sumOfN(1000))
这个算法呢,就是运用了数学上的高斯求和公式来计算,避免了循环遍历,速度也就提高很对
所以迭代的一般执行效率都会比较低,都是一点一点算出来的,像极了我们刚上学那会,对数学的认真,掰着手指头一点点的算。