所以我在书中遇到了这一段:
算法arrayMax,用于计算n个整数数组中的最大元素,在O(n)时间内运行。
理由:算法阵列执行的原始操作的数量 - 每次迭代中的最大值是常数。因此,由于每个原始操作都在运行 恒定时间,我们可以说算法arrayMax在输入上的运行时间 大小n最多是n的常数,也就是说,我们可以得出结论是运行 算法arrayMax的时间是O(n)。
我不理解的部分是“..算法arrayMax在大小为n的输入上的运行时间最多是n次的常数...”
“恒定时间n”是什么意思?
答案 0 :(得分:2)
在这种情况下,常量表示它是一个有限可理解的整数,一个整数。
出于'常数n'的目的,这意味着操作的每次迭代可能是5,10,15等操作,而n是应用程序执行此操作的次数,因此, O(常数* n)
执行任务所需的操作数不会改变,但程序的规模最多可以包含n个对象。