procedure stars(n)
for i = 1, . . . , n do
print “∗” i many times
问题-使用Ω符号,下限恒星的运行时间以表明您的上限实际上是渐近紧的。
解决方案-为简单起见,假设n为偶数。我们降低了从n / 2到n的迭代过程中打印的星星数量:
我不明白为什么它们从n / 2变为n。我该如何做这个问题?
答案 0 :(得分:2)
对于Omega
,无论从哪里开始都没关系!下限只有一件事,那就是它必须小于分隔的和。解决方案只想找到和的下限,因为和在Theta(n^2)
中(总和等于n(n+1)/2
)。
答案 1 :(得分:2)
请注意,总和不是 j / 2 上的 ,而是 n / 2 上的。对于每个 n / 2≤j≤n , n / 2≤j ,因此不等式成立,可能是 n = 2 的例外:完整的总和是3,第二个总和是2( not 2²/ 4 = 1:错误是从 n / 2 开始,而不是 n / 2 +1 。)
选择 n / 2 ( +1 )作为求和的下限,使得每个和数等于 n / 2 。
答案 2 :(得分:1)
请注意,当您从n/2
到n
求和时,您要对更少的元素求和,因此该方程式正确。
这样做是为了最终简化表达式并找到明确的下边界。