什么是算法:数据结构+算法=程序
算法特性:
1、有穷性
2、确定性
3、可行性
4、输入输出:有0个或多个输入,一个或多个输出
好算法的标准:
1、正确性
2、易读性
3、健壮性:算法对非法数据及操作有较好的反映和处理
4、高效性:时间复杂度
5、低存储性:空间复杂度
算法复杂度计算方法
(1)空间复杂度:
1、输入输出数据
2、算法本身
3、额外辅助空间
(2)时间复杂度:
O(1)<O(logn)<O(n)<O(nlogn)<O(n2)< O(n3)<O(2n)<O(n!)<O(nn)
递归算法复杂度计算
递归:递推和回归