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 求和运行时算法分析_Algorithm_Runtime_Analysis - Fatal编程技术网

Algorithm 求和运行时算法分析

Algorithm 求和运行时算法分析,algorithm,runtime,analysis,Algorithm,Runtime,Analysis,我在努力解决这个问题。以前的问题我没有做过任何问题。这就是我要做的 我正在尝试使用求和来推导运行时的表达式。 然后求解它们,得到 Tn或Tn,m不使用求和写入。 我想计算println作为任何变量n和/或m的函数执行的次数 任何帮助都会有帮助。他在这里谈论的数学技巧是什么?如果我知道某个数学技术所指的术语,我会搜索并做更多的研究。你有以下while循环: 我们可以将其重写为for循环,如下例所示: int i; for(i=n; i<= 1; i= i/2){ System.out

我在努力解决这个问题。以前的问题我没有做过任何问题。这就是我要做的

我正在尝试使用求和来推导运行时的表达式。 然后求解它们,得到 Tn或Tn,m不使用求和写入。 我想计算println作为任何变量n和/或m的函数执行的次数


任何帮助都会有帮助。他在这里谈论的数学技巧是什么?如果我知道某个数学技术所指的术语,我会搜索并做更多的研究。你有以下while循环:

我们可以将其重写为for循环,如下例所示:

int i;
for(i=n; i<= 1; i= i/2){
    System.out.println("tick");
}
通过以上内容,我们可以了解print语句的执行次数。当n是2的幂时,执行次数似乎会增加。让我们看看二次幂的迭代次数是什么样的

Value of 'n'    #Executions of the print statement
n=1             1
n=2             2
n=4             3
n=8             4
n=16            5
n=32            6
好的,我们现在可以看到另一种模式,2的幂增加1,例如2^1,2^2等。迭代次数增加1,所以让我们重写上面的内容:

Value of 'n'   #Executions of the print statement
n=1 = 2^0      1
n=2 = 2^1      2
n=4 = 2^2      3
n=8 = 2^3      4
n=16 = 2^4     5
n=32 = 2^5     6
因此,我们可以将数字2提升为,只需添加一个,就可以得到print语句的执行次数。例如,当n=32时,我们将这个数字改为2的幂,比如2^5,然后我们取“2”上升的数字,即“5”,再加上1,得到迭代次数,即6

因此,可用于解决该while循环的函数为: fn=log2n+1

您还可以使用求和来计算while循环的函数。
您可以看到一些将循环更改为求和的方法

使用给定的提示。这决不是一个困难的问题。
Value of 'n'    #Executions of the print statement
n=1             1
n=2             2
n=4             3
n=8             4
n=16            5
n=32            6
Value of 'n'   #Executions of the print statement
n=1 = 2^0      1
n=2 = 2^1      2
n=4 = 2^2      3
n=8 = 2^3      4
n=16 = 2^4     5
n=32 = 2^5     6