算法是独立存在的一种解决问题的方法和思想
1,如果 a+b+c=1000,且a^2+b^2=c^2(a,b,c为自然数),如何求出所有a、b、c可能的组合?
枚举法(一个一个去试)
a=0,b=0,c=0------不满足a+b+c=1000
试a=0,b=0,c=4------不满足a+b+c=1000
试a=0,b=1,c=0~1000
算法的特征:
输入可以有可以没有,输出至少有一个,有穷性:算法在有限的步骤可接受的时间范围内可以自动结束,确定性:实现的每一个步骤都有确定含义,可行性:算法的每一步都是可行的
c=1000-a-b 不再对c进行试探------快很多
算法效率衡量:
单靠时间不客观准确,离不开计算机的执行环境---------时间复杂度(基本运算数量)
大“O”记法:
计算规模问题----------数量级,渐进函数
T(n)=n^3 * 2,T(n)=n^3 * 10
g(n)=n^3
T(n)=g(n)