一些笔记:
1.分治算法的主要思想:将原问题划分成若干的子问题,分而治之,最后将若干个子问题的解合并得到原问题的解。常常含有二分、递归的方法在里面
2.分析分治算法的工具——递归方程;
3.每次划分的时候子问题的规模尽量接近:连续划分
平衡原则;
4.通常两类递归方程:
1)
T(n)= \sum{i=1}_{n-1} T(n-i)+g(n);
2)
T(n)=a*f(n/b)+ d(n);
5.通常用主定理(MasterTheorem)、递归树解决此类方程或者得到阶的估计;
6.优化分治算法的两个途径(根据主定理得出):
1)
在n^(logb(a)-eps) = BIGOMEGA(d(n)) 时,算法的复杂度由n^logb(a)决定,所以尽量减小logb(
版权声明:本文为zCGr_GzGy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。