1. O(g(n)) means g(n)提供asymptotic upper bound
omega则表示lower bound
theta表示生长速度相同
2. merge sort: 将两个顺序序列合并成一个顺序序列
3. divide-and-conquer
4. master theorem
第一个代表overhead f(n)至少略微大于n^logba,则solution T(n)就等于nlogba
2 3同理(3:若f(n)至少比nlogba快一点)
5. Karatsuba
如1234*5678,将其看成ab*cd,即a=12*100, b34, cd同理
展开ac*10^4+ad*10^2+bc*10^2+bd
这里我们可以将中间两项合并从而减少乘法数量(根据master theorem,乘法越少复杂度越小)
为了避免使用高次幂我们将10^2设为x, 即acx^2+(ad+bc)x+bd
同时原始第一个数字A等于a*100+b,第二个数字B等于c*100+d
AB=acx^2+(ad+bc)x+bd
代入最简单的几个数,解方程得到x^2 ,x ,x^0的系数