遞迴方程組解的漸進階的求法——套用公式法

來源:互聯網
上載者:User
文章目錄
  • 遞迴方程組解的漸進階的求法——套用公式法
遞迴方程組解的漸進階的求法——套用公式法

這個方法為估計形如:

T(n)=aT(n/b)+f(n) (6.17)

的遞迴方程解的漸近階提供三個可套用的公式。(6.17)中的a≥1和b≥1是常數,f (n)是一個確定的正函數。

(6.17)是一類分治法的時間複雜性所滿足的遞迴關係,即一個規模為n的問題被分成規模均為n/ba個子間題,遞迴地求解這a個子問題,然後通過對這a個子間題的解的綜合,得到原問題的解。如果用T(n)表示規模為n的原問題的複雜性,用f(n)表示把原問題分成a個子問題和將a個子問題的解綜合為原問題的解所需要的時間,我們便有方程(6.17)。

這個方法依據的是如下的定理:設a≥1和b≥1是常數f (n)是定義在非負整數上的一個確定的非負函數。又設T(n)也是定義在非負整數上的一個非負函數,且滿足遞迴方程(6.17)。方程(6.17)中的n/b可以是[n/b],也可以是n/b。那麼,在f(n)的三類情況下,我們有T(n)的漸近估計式:

  1. 若對於某常數ε>0,有





  2. 若對其常數ε>0,有

    且對於某常數c>1和所有充分大的正整數naf(n/b)≤cf(n),則T(n)=θ(f(n))。

這裡省略定理的證明。

在應用這個定理到一些執行個體之前,讓我們先指出定理的直觀含義,以協助讀者理解這個定理。讀者可能已經注意到,這裡涉及的三類情況,都是拿f(n)與作比較。定理直觀地告訴我們,遞迴方程解的漸近階由這兩個函數中的較大者決定。在第一類情況下,函數較大,則T(n)=θ();在第三類情況下,函數f(n)較大,則T(n)=θ(f (n));在第二類情況下,兩個函數一樣大,則T(n)=θ(),即以n的對數作為因子乘上f(n)與T(n)的同階。

此外,定理中的一些細節不能忽視。在第一類情況下f(n)不僅必須比小,而且必須是多項式地比小,即f(n)必須漸近地小於與的積,ε是一個正的常數;在第三類情況下f(n)不僅必須比大,而且必須是多項式地比大,還要滿足附加的“正規性”條件:af(n/b)≤cf(n)。這個附加的“正規性”條件的直觀含義是a個子間題的再分解和再綜合所需要的時間最多與原問題的分解和綜合所需要的時間同階。我們在一般情況下將碰到的以多項式為界的函數基本上都滿足這個正規性條件。

還有一點很重要,即要認識到上述三類情況並沒有覆蓋所有可能的f(n)。在第一類情況和第二類情況之間有一個間隙:f(n)小於但不是多項式地小於;類似地,在第二類情況和第三類情況之間也有一個間隙:f(n)大於但不是多項式地大於。如果函數f(n)落在這兩個間隙之一中,或者雖有,但正規性條件不滿足,那麼,本定理無能為力。

下面是幾個應用例子。

例1 考慮

T(n)=9T(n/3)+n0

對照(6.17),我們有a=9,b=3, f(n)=n, ,取,便有,可套用第一類情況的公式,得T(n)=θ(n2)。

例2 考慮

T(n)=T(2n/3)+1

對照(6.17),我們有a=1,b=3/2, f(n)=1,,可套用第二類情況的公式,得T(n)=θ(logn)。

例3 考慮

T(n)=3T(n/4)+nlogn

對照(6.17),我們有a=3,b=4, f(n)=nlog n, ,只要取,便有。進一步,檢查正規性條件:

只要取c=3/4,便有af(n/b)≤cf(n),即正規性條件也滿足。可套用第三類情況的公式,得T(n)=θ(f(n))=θ(nlogn)。

最後舉一個本方法對之無能為力的例子。

考慮

T(n)=2T(n/2)+nlogn

對照(6.17),我們有a=2,b=2, f(n)=nlog n, ,雖然f(n)漸近地大於,但f(n)並不是多項式地大於,因為對於任意的正常數ε

f(n)在第二類情況與第三類情況的間隙裡,本方法對它無能為力。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.