什么是算法-----算法就是解决问题的方法
算法有两种
(1)累加法 (1+2+3+4+5+6+7+8+9+........100)
(2)利用等差数列求和公式自己算出答案
如何批判算法的优劣----------通过时间复杂度来进行判别
算法的时间复杂度是如何计算出来的
时间复杂度是研究数据总量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)
时间复杂度是研究:数据总量n和执行Y之间的关系
viod fun(int n){
int i = ;
while(i < n){
i = i*;
}
}
1 i=1
2.i=2
3.i=4
4.i=8
第y轮.i=2^(2-1)=N
2^y = n-------y = log2n