Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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 if条件下函数的时间复杂度_Algorithm_Time Complexity - Fatal编程技术网

Algorithm if条件下函数的时间复杂度

Algorithm if条件下函数的时间复杂度,algorithm,time-complexity,Algorithm,Time Complexity,这类if语句的时间复杂度是多少 考虑以下时间复杂性:func1=O(n)和func2=O(n) 时间复杂度是O(n^2)还是仅仅是O(n)?它将是O(n),因为O(n)+O(n)=2O(n)=O(n)只要它不是在循环中运行(就像在这个语句中执行一次),复杂度是O(n)+O(n)=2O(n)=O(n)摊销的 1) func1被执行并返回 2) func2可能被执行并返回 如您所见,每个函数在另一个函数启动之前返回,这意味着时间被添加。计算O时,除了最大的O(n)外,所有加在一起的时间都会被删除 作

这类if语句的时间复杂度是多少

考虑以下时间复杂性:func1=O(n)和func2=O(n)


时间复杂度是O(n^2)还是仅仅是O(n)?

它将是O(n),因为
O(n)+O(n)=2O(n)=O(n)
只要它不是在循环中运行(就像在这个语句中执行一次),复杂度是O(n)+O(n)=2O(n)=O(n)摊销的 1) func1被执行并返回
2) func2可能被执行并返回

如您所见,每个函数在另一个函数启动之前返回,这意味着时间被添加。计算O时,除了最大的O(n)外,所有加在一起的时间都会被删除

作为反例,得到O(n^2)的一种方法是
func1(func2)

其中func1执行其参数约n次。这意味着时间是相乘的。

去掉这个因素。通常,这有一个非常不同的含义。
if(func1())
{
   return func2();
}