【发布时间】:2020-06-20 21:05:32
【问题描述】:
我一直在尝试理解快速选择算法,并且我发现了最坏情况运行时间的复杂度的两个不同值。
例如,This website 声称最坏情况的时间复杂度是 Θ(n^2),而GeeksforGeeks 声称它是 O(n^2)。
谁能帮我理解哪一个是正确的,为什么会这样?
【问题讨论】:
标签: time-complexity quickselect
我一直在尝试理解快速选择算法,并且我发现了最坏情况运行时间的复杂度的两个不同值。
例如,This website 声称最坏情况的时间复杂度是 Θ(n^2),而GeeksforGeeks 声称它是 O(n^2)。
谁能帮我理解哪一个是正确的,为什么会这样?
【问题讨论】:
标签: time-complexity quickselect
两者都是正确的,但使用 Θ 是一个更强的陈述。大 O 表示法给出了渐近上界,而大 Theta 表示法给出了实际的渐近增长率。p>
打个比方,假设 Alice 和 Bob 都在数某人的腿。爱丽丝说legs = 2,鲍勃说legs ≤ 2。 Alice 和 Bob 都是正确的,但 Alice 的说法更强烈。
在非正式使用中,当你可以用 Θ 写出更强的语句时,写 O 是很常见的,因为大多数人的键盘没有 Θ 键。
【讨论】: