【发布时间】:2020-07-05 13:59:58
【问题描述】:
为什么复杂度是 n^2 logn + n(logn)^2 = O(n^2 (logn)^2) ? 我认为这是康奈尔期末考试试卷(在线找到)的解决方案,但我不太确定它是否正确。
【问题讨论】:
-
不是:O(n² log n + n log² n) = O(n² log n)
-
请edit您的问题,用您自己的话包括您对为什么应该是时间复杂度以及更重要的是为什么不应该的想法。
-
@norok2 问题 6j cs.cornell.edu/courses/cs2110/2016sp/Exams/final/…
-
这对我来说是个好问题。这是一个技巧问题,但恕我直言,这是一个有趣的问题。这不是一个错误,它是故意测试人们是否理解上限原理的。
-
@norok2 你是对的,因为问题不够精确,O(n^k) 确实是一个有效的答案。另一方面,这不是最好的答案(人们应该知道它不是)。所以这取决于老师是否喜欢笑话:p。但也许更正是错误的,并且下限/上限都是预期的,在这种情况下,所有答案都只是部分正确,因为它们只给出了上限。最好的答案是给出两个界限并在它们相同时将它们写为
Θ(…)。这里的问题是存在隐含的学生/教师约定。
标签: time-complexity big-o