1.算法时间复杂度

什么是大O?
n表示数据规模
O(f(n))表示运行算法所需要执行的指令数,和f(n)成正比

当n达到一个量点的时候,时间复杂度低的那个算法一定比时间复杂度高的那个算法运行的快,并且n越大,这样的表现越明显


如果时间复杂度是类似O(nlongn + n )这样的,那么找出一个主导来就可以,前提是,nlogn和n中的n规模是一样的,如果是类似于O(A + B2)A和B完全不同,那么结果是不能省略的

2.数据规模的概念

3.空间复杂度

递归的调用是有空间代价的,递归的深度是多少,递归所占用的空间复杂度就是多少

4.常见的复杂度分析





计算时间复杂度的时候,一定要注意语句执行的开始点和结束点,最关键的是每次增量的变化

5.复杂度的实验


递归算法的复杂度分析



6.均摊复杂度分析

例如动态数组(vector)