我准备了很多关于复杂性的文章,特别是在许多网站中遇到了条件的复杂性后,我感到困惑,我一直想知道我的答案是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)
请回答您的问题后,如果您有任何资源或链接提供了很好的算法复杂性内容,谢谢
答案 0 :(得分:1)
它仍然为O(n)
。将大O视为“随着n的变化,算法的运行时间长度如何变化?”由于n会更改常规循环的迭代次数,因此您总是为n
的每次添加添加一个循环迭代,因此它是线性的(O(n)
)。