分治策略:
二分检索:
设计思想:
时间复杂度分析:
二分归并排序:
设计思想:
时间复杂度分析:
hanio塔:
设计思想:
小结:
分治算法的一般性描述:
分治算法:
Divide-and-Conquer(P)
if |P|<=c then S(P) //如果规模不大于c,有一个直接的算法S来对P进行求解
//划分
divide P into P1,P2,...,Pk //大于c ,把原始问题规约或划分成k个子问题
//求解子问题
for i <- 1 to k
yi <- Divide-and-Conquer(Pi)
//综合解
Return Merge(y1,y2,..,yk)
设计要点:
分治算法时间分析:
常见递推方程2: