迭代算法和非迭代算法的比较

什么是迭代?

答:每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。

好比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))

这个算法呢,就是运用了数学上的高斯求和公式来计算,避免了循环遍历,速度也就提高很对

 

所以迭代的一般执行效率都会比较低,都是一点一点算出来的,像极了我们刚上学那会,对数学的认真,掰着手指头一点点的算。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值