通过比较,可以看的出来,通过无迭代累计算法的运行时间比前面的要短很多,运行时间与累计对象n的大小也没有关系,前种算法则是倍数增长关系。 观察迭代的算法,它包含了一个循环,可能会执行更多的语句。这个循环运行次数与n有关,n增加,循环次数就会增加。 通过运行时间检测分析两个算法的优劣也存在着一些弊端: ① 不同编程语言写出来的,运行时间也不一样。用C语言写的运行速度就会比用Python写的快。 ② 同一个算法,采用的同一种编程语言了,那放在不同的机器上运行,得到的运行时间也不一样,有时候还是大不一样。 比如,把非迭代算法放在很老的机子上跑,甚至可能比在新机器上跑的迭代算法还慢。 基于以上原因,我们就需要更好的方法来衡量算法的运行时间,这个指标与具体的机器、语言、运行时段都要无关。