Algorithm 循环的递推关系
问题是建立一个递推关系来找到算法给出的值。答案应该是teta()术语Algorithm 循环的递推关系,algorithm,complexity-theory,recurrence,Algorithm,Complexity Theory,Recurrence,问题是建立一个递推关系来找到算法给出的值。答案应该是teta()术语 不完全确定,但现在开始 第二个循环执行1-sqrt(1)+2-sqrt(2)+…+n-sqrt(n)=n(n+1)/2-n^1.5times=>O(n^2)times。有关sqrt(1)+…+的讨论,请参见sqrt(n)=O(n^1.5) 我们已经确定第三个循环将被触发O(n^2)次。因此,该算法渐近等价于如下所示: for i = 1 to n do for j = 1 to n do for k =
不完全确定,但现在开始 第二个循环执行
1-sqrt(1)+2-sqrt(2)+…+n-sqrt(n)=n(n+1)/2-n^1.5
times=>O(n^2)
times。有关sqrt(1)+…+的讨论,请参见sqrt(n)=O(n^1.5)
我们已经确定第三个循环将被触发O(n^2)
次。因此,该算法渐近等价于如下所示:
for i = 1 to n do
for j = 1 to n do
for k = 1 to log(i+j) do
++foo
这将导致总和log(1+1)+log(1+2)+…+对数(1+n)+…+日志(n+n)
<代码>日志(1+1)+日志(1+2)+…+log(1+n)=log(2*3*…*(n+1))=O(n logn)。该值乘以n
,得到O(n^2 log n)
所以你的算法也是
O(n^2 logn)
,如果我没弄错的话,你的算法也是Theta(n^2 logn)
。这是家庭作业吗?如果是这样的话,就把它贴上标签。带标签的家庭作业,你说的重新格式化是什么意思。我是这个平台的新手。有什么东西我需要用来格式化吗?那么,现在,具体的问题是什么?您想让我们发布最终解决方案吗?--这个foo
代表什么?我修改了它foo是每一步递增的变量。我希望有一个递归关系“f(n)=blah blah”,它是所有迭代后foo的最终值+1:Theta(n^2 logn)看起来正确,并且不移交递归关系。。。
for i = 1 to n do
for j = 1 to n do
for k = 1 to log(i+j) do
++foo