Algorithm if条件下函数的时间复杂度
这类if语句的时间复杂度是多少 考虑以下时间复杂性:func1=O(n)和func2=O(n)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)外,所有加在一起的时间都会被删除 作
时间复杂度是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();
}