演算法設計與分析——分治遞推關係的解
阿新 • • 發佈:2021-12-23
分治遞推關係的解
),與展開遞推式所得一致。
本節主要研究一些專門用來求解最常見的分治遞推式的技巧。(代入法、更換變元法暫且不記錄)
1、展開遞推式
求解遞推式的最自然方法就是通過顯而易見的方式將其反覆展開。
(1)、例子
O(n)取法:①忽略低階項 ②舍最高項常係數 ③剩餘估計
本例中,O(n)=nlog2 n
(2)、定理
由上例f(n)可得以下定理
(3)、引理
對於不同的f(n),我們可以得出不同的遞推式
以上引理證明如下:
(4)、推論
由上述引理,我們可以得出以下兩個推論
(5)、最重要的定理
背下該定理對於後期解題有很大幫助!
2、例題
(1)、例一
(a)
(b)
由master定理,a=4,c=2
顯然,f(n)=O(n2
(2)、例二
(a)
求解法與例一一致。
(b)
由master定理,a=5,c=3
顯然,f(n)=O(nlog35)。
(3)、例三
(a)
求解法與例一幾乎一致。
(b)
由master定理,a=9,c=3,x=2
顯然,f(n)=O(n2 log n)