Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 算出f(n),每个过程所需的单位时间操作的确切数量,作为输入大小n的函数_Algorithm_Computer Science - Fatal编程技术网

Algorithm 算出f(n),每个过程所需的单位时间操作的确切数量,作为输入大小n的函数

Algorithm 算出f(n),每个过程所需的单位时间操作的确切数量,作为输入大小n的函数,algorithm,computer-science,Algorithm,Computer Science,我有两个问题——我相信其中一个是早些时候发布的——但没有得到回答。 我想我已经正确地回答了第二个问题 有什么建议吗 算出f(n),每个程序所需的单位时间操作的准确数量,作为 输入大小n的函数 (i) for i<-1 to n do for j<-1 to 2n-i do //a unit cost operation ------------------------------ (i) this is i the one i need some help on. (ii) f

我有两个问题——我相信其中一个是早些时候发布的——但没有得到回答。 我想我已经正确地回答了第二个问题

有什么建议吗

算出f(n),每个程序所需的单位时间操作的准确数量,作为 输入大小n的函数

(i) for i<-1 to n do
 for j<-1 to 2n-i do
//a unit cost operation
  ------------------------------ (i) this is i the one i need some help on.
(ii) for i <-1 to n do
 for j <- 2 to (n+i) do
// a unit cost operation

for i: 1 to n do:
 for j: 2 to n + i do:
  unit
对于您提到的案例(案例(i)),您可以使用

在这种情况下,第一项=2*n-1,最后一项为n,因此所有项的总和为

S=n/2*(n+2*n-1)=O(n^2)

对于情况II,第一项=(n+1-1)=n,最后一项=(n+n-1)=(2*n-1),因此总和S等于

S=n/2(第一项+最后一项)=n/2*(n+2*n-1)=O(n^2)


您一定已经注意到(i)和(ii)的S是相同的。

您可以使用算术级数来求f(n),通过计算值来求出不是推荐的方法。谢谢-第二种方法如何?我说对了吗?“想知道如何使用算术级数来完成它…”爱丽丝编辑了案例(ii)的问题。不,该公式不能像您选择的方法那样导出,许多其他公式可以拟合到相同的值。另外,你对n=3的情况(ii)的分析是错误的,计算错误。是7,8,9吗?那么总数是25?仍在努力将算术级数应用于i)它是3、4和5。你知道算术级数吗?我想我在它的意思上犯了一个错误:对于j
 i=1; j: 2 to 2 = 1 times
 total: 1 units

  n=2

i=1; j: 2 to 3 = 2 times
i=2; j: 2 to 4 = 3 times
 total: 2 + 3 = 5 units

 n=3

i=1; j: 2 to 4 = 4 times
i=2; j: 2 to 5 = 5 times
i=3; j: 2 to 6 = 6 times
total: 4 + 5 + 6 = 10 units

  Pattern being f(n) = n^2 +1 , is that right?