大O表示法:平均情况,是正比,与前面的常数关系不大;
了解常用数据规模情况下的复杂度:
如果想在1s内解决问题:
O(N2)的算法可以处理大约10^4级别的数据;
O(N)的算法可以处理大约10^8级别的数据;
O(NlogN)的算法可以处理大约10^7级别的数据;
空间复杂度:递归调用是有空间代价的,递归的深度是多少,空间复杂度就是多少
复杂度试验:实验,观察趋势
递归的时间复杂度并不一定是O(NlogN),与调用次数(递归深度)有关,画出递归树来分析。
通常,分治的复杂度是logN.
主定理
均摊复杂度分析:以动态数组的生成为例,当元素个数大于当前数组容量,容量增大一倍;当元素个数小于当前容量的1/4,容量变为1/2【这样是为了防止复杂度震荡】