关于分治法的时间复杂度

关于分治法的时间复杂度_第1张图片

现有公式T(n) = aT(n/b) + O(n^d)

其中:

a:一次分治,将问题分成a个子问题

b:分治后,子问题规模为n/b

d:分解和合并a个子问题的时间复杂度为O(n^d)

关于分治法的时间复杂度_第2张图片

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

你可能感兴趣的:(关于分治法的时间复杂度)