Divide and Conquer
1.Introduction
將問題先切分成小問題後再解決, 再將結果合併求出原始問題的答案
2.作法
分解:將原問題分解為若干個規模較小,相對獨立,與原問題形式相同的子問題。
解決:若子問題規模較小且易於解決時,則直接解。否則,遞歸地解決各子問題。
合併:將各子問題的解合併為原問題的解。
3.Recurrence
recurrence: 表示為問題大小為size n的整體的running time與divide and conquer後的running time
D(n)是將問題分為子問題所需的時間, C(n)是將子問題的解合併起來所需的時間, a是子問題的數量, 1/b是子問題與原問題的比例, 則:
4.例子
Last updated