渐近运行时间

时间:2015-01-24 06:09:43

标签: time-complexity asymptotic-complexity

for i = 1....n do
  j=1
  while j*j<=i do j=j+1

我需要找到theta(?)表示法中的渐近运行时间。 我找到了

3(1) + 5(2) + 7(3) + 9(4).....+.......

我尝试使用各部分的求和来找回答案。 但我不能......任何人都可以解释或给我一些线索。

2 个答案:

答案 0 :(得分:1)

代码段的整体复杂性可以重写为:

for i = 1 to n        
do for j = 1 to floor(sqrt(n))

因此,当sqrt(i)从1变为i时,我们会将n的整体复杂性视为 sigma 。 不幸的是,没有一系列平方根的基本公式,所以我们必须依赖整合

sqrt(i)与限制的整合将为n sqrt(n)(忽略常数因素)。

因此,循环的总体时间复杂度为 n sqrt(n)

答案 1 :(得分:0)

使用Sigma表示法,您可以有条不紊地进行:

enter image description here

要获得theta,你应该找出i的平面平方根求和的公式(这是不明显的)。

为了安全起见,我选择了 Big Oh