累加法:一个一个的加
利用等差数列求和公式直接算出答案
如何评判算法的优劣--------通过时间复杂度来进行判别
算法的时间复杂度是如何计算出来的?
时间复杂度是研究数量总量N和算法执行次数Y之间的关系
y = an +b(a是西数,b是常数),如果n非常大---->y=n(算法执行次数和数据总量直接相关)------>O(n)
y=an^2+bn+c(ab是系数,c是常数),如果n非常大----->y=n^2(算法执行次数和数据总量的平法直接相关)----->O(n^2)
y=a(a是常数),------->算法的执行次数和数据总量没有任何关系------->O(1)
y=logn----->算法的执行次数和数据总量存在log别的关系------->O(logn)
void fun(int n){
iint i = 1;
while(i<n){
i = i*2; O(logn)
}
}
时间复杂度是研究:数据总量n和执行次数y之间的关系
i = 1;
i = 1;
i = 4;
i = 8;
i = 16;
----
i = 2^(y-1) = n
2^y = n-------->y = log2n
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_74793021/article/details/136562540