Core
- 把一個(gè)大問題劃分成諾干個(gè)子問題(子問題之間相互獨(dú)立)
- 解決每個(gè)子問題
- 把每個(gè)子問題合并到一起
Optimization Method
- Reduce the sub Question
通過代數(shù)消除子問題的個(gè)數(shù)
AC, BD 被復(fù)用XY = ? X = A2^(n/2) + B Y = C2^(n/2) + D XY = AC2^(n/2) + (AD+BC)2^(n/2) + BD AD+BC = (A-B)(D-C) + AC + BD
時(shí)間復(fù)雜度從:c 是常數(shù) W(n) = 4W(n/2) + cn W(n) = 3W(n/2) + cn
- Pretreatment before inner Recursion
通過預(yù)處理減少內(nèi)部的遞歸計(jì)算了晌纫,實(shí)際是空間換時(shí)間
經(jīng)典例題
快速排序的實(shí)現(xiàn)