1、算法定义:
解决特定问题求解步骤的描述,在计算机中为指令的有限序列,并且每条指令表示一个或多个操作
2、算法特性:
(1)有穷性
(2)确定性
(3)可行性
(4)输入
(5)输出
3、算法设计的要求:
(1)正确性
(2)可读性
(3)健壮性
(4)高效率
(5)低存储量
4、算法复杂度分为时间复杂度和空间复杂度
时间复杂度:
推导大O阶:
(1)用常数1取代运行时间中的所有加法常数
(2)在修改后的运行次数函数中,只保留最高阶项
(3)如果最高阶项存在且不为1,则去除与这个项相乘的常数
便得到大O阶
常见的时间复杂度:
O(1)< O(logn)< O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)
2、空间复杂度
通过计算算法所需的存储空间实现。
我们一般讲的算法复杂度指的都是时间复杂度