班课2

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的系数

 

posted on 2020-06-21 10:23  Eleni  阅读(175)  评论(0编辑  收藏  举报

导航