关于分治法的时间复杂度
补充
T(n) = aT(n/b) + O(n^d)
a:分成a个子问题
b:将问题规模变为n/b
d:分解和合并a个子问题的时间复杂度为O(n^d)
例子:
用分治法解决一个规模为 N 的问题,每步将问题分成规模均为 N/2 的 3 个子问题,且治的步骤耗时 O(N)
解:a = 3,b = 2, d = 1,1 < log3,所以时间复杂度为O(n^log3)
补充
T(n) = aT(n/b) + O(n^d)
a:分成a个子问题
b:将问题规模变为n/b
d:分解和合并a个子问题的时间复杂度为O(n^d)
例子:
用分治法解决一个规模为 N 的问题,每步将问题分成规模均为 N/2 的 3 个子问题,且治的步骤耗时 O(N)
解:a = 3,b = 2, d = 1,1 < log3,所以时间复杂度为O(n^log3)