算法的定义:算法是解决特定问题求解决步骤的描述,再计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法时间复杂度
T(n) = O( f(n) ). f(n)为问题规模n的某个函数。
大O记法:用大写O()来体现算法时间复杂度的记法。
推导大O阶方法
(1) 用常数1取代运行时间中的所有加法常数
(2) 保留最高阶项
(3) 如果最高阶项存在,系数为1
注:不在循环结构中的分支结构,时间复杂度为O(1).
常用时间复杂度耗费时间从小到大依次是:
O(1)<O(log n)<O(n)<O(nlog n)<O(n2)<O(n3)<O(2n)<O(n!)<O(nn)
算法空间复杂度
S(n) = O( f(n) ). n为问题的规模,f(n)为语句关于n所占存储空间的函数。