我试图了解在PC上运行程序的背景下Big O分析的特定方面。
假设我有一个性能为O(n + 2)的算法。在这里,如果n真的很大,则2变得无关紧要。在这种情况下,很明显,实际性能为O(n)。
但是,可以说另一种算法的平均性能为O(n ^ 2/2)。在我看到该示例的书中,实际表现为O(n ^ 2)。我不确定为什么,我的意思是在这种情况下2似乎并不完全无关紧要。因此,我一直在从书中寻找清晰的解释。这本书是这样解释的:
“虽然要考虑1/2的含义。检查每个值的实际时间高度取决于代码转换成的机器指令,然后取决于CPU执行指令的速度。因此1/2并不正确。不是很重要。”
我的反应是……嗯?我从字面上不知道所说的是什么,或更确切地说,该陈述与他们的结论有什么关系。有人可以帮我拼一下吗。
谢谢你的帮助。
慕神8447489