假设我们有循环(a)将有100次迭代,而循环(b)将有50次迭代。
哪个效率更高?
我认为(b)更有效,因为它的迭代次数较少,但(a)和(b)的大 - o都是 n 。
我是否过度思考这个并滥用大o的概念?
答案 0 :(得分:0)
要了解更多有关迭代次数更少的意义,请阅读有关循环展开(或循环展开)的内容。
答案 1 :(得分:0)
Big O告诉函数增长率的上限。这只是一个估计。
在您的情况下,两个循环(或实际上具有不同迭代次数的相同循环)具有相同的时间复杂度“O(n)”。即,循环的性能与输入的数量成正比。 (绘制线性时间与输入图表)
因此在实际测量中,具有50(n = 50)次迭代的相同循环将比具有100次(n = 100)次迭代的循环花费更少的时间。
可能是您不理解其功能/算法的增长率/性能估计的理论机制。