使用if else和if else if else(深度条件)在代码复杂度上有什么区别?

时间:2020-08-21 18:18:09

标签: conditional-statements time-complexity

我准备了很多关于复杂性的文章,特别是在许多网站中遇到了条件的复杂性后,我感到困惑,我一直想知道我的答案是1小时,但没有一个网站提供它,所以我只想知道最好的解决方案当我使用诸如

的条件时
use DB;

$sums = Model::select(DB::raw('sum(qty) as total_quantity'),'name')->groupBy('name')->get();

我知道在这种情况下,我们将选择两者中较高的复杂度,这将是big(O),即O(N)
但是,如果我使用else会怎样,是否与我上面的代码相同?

int x = 10;
if(x<1)
 cout<<"done";
else
 for(int i=0;i<n;i++){
   cout<<"done";
   }

是否像上面的示例一样使该示例为O(N)

请回答您的问题后,如果您有任何资源或链接提供了很好的算法复杂性内容,谢谢

1 个答案:

答案 0 :(得分:1)

它仍然为O(n)。将大O视为“随着n的变化,算法的运行时间长度如何变化?”由于n会更改常规循环的迭代次数,因此您总是为n的每次添加添加一个循环迭代,因此它是线性的(O(n))。