主定理
适用于求解如下递归式算法的时间复杂度:
分治实例
1.二分搜索技术
实现思想:
将n个已排好序的元素分成个数大致相同的两半,取a[n/2]和x作比较,如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则只在数组a的左半部继续搜索x;如果x>a[n/2],则只在数组a的右半部继续搜索x。
2.大整数乘法
实现思想:
将大整数X和Y都分成两段,每段长为n/2位,X=A∗10^(n/2)+B,Y=C∗10^(n/2)+D,这样X和Y的乘积为:
XY=AC*10^n+((A-B)(D-C)+AC+BD)*10^(n/2)+BD
求解T(n)=O(n^log3)=O(n*1