我无法完全理解这个问题:
对于给定的 n 值,两个 O(n2) 算法将始终花费相同的时间。对或错?解释。
我认为答案是错误的,因为根据我的理解,我认为渐近时间复杂度仅衡量在 O(n2) 时间运行的两种算法,但是一种算法可能需要更长的时间,因为它可能有额外的 O(n) 组件算法。像 O(n2) vs (O(n2) + O(n))。
我不确定我的逻辑是否正确。任何帮助,将不胜感激。
最佳答案
答案是正确的,但缺乏解释。
一方面,大 O 符号允许任意常数因子。所以 n2 和 100*n2 都在 O(n2) 中,但显然第二个总是更大。
另一个原因是该符号只给出了一个上限,所以即使 n 的运行时间也在 O(n2) 中,所以其中一个算法实际上可能是线性的。
关于algorithm - 两个 O(n^2) 算法的时间复杂度是否相同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40145632/