簡體   English   中英

函數的復雜度T(N)= T(n / 2)+ 2 ^ n

[英]complexity of the function T(N)=T(n/2)+2^n

我是一名學生在大學學習算法課程。 我知道如何應用一些遞歸技術來找到更簡單函數的運行成本,但是這個問題中的2^n給我帶來了麻煩。 這是我嘗試應用主定理的內容

a=1b=2 n^log2(1)= n^0.65

這導致n^0=1我知道它必須是f(N)多項式時間,即2^n但我不知道它是如何與2^n

我嘗試了遞歸樹,但它太復雜了。

您可以應用此處描述的主定理的第三種情況,因為f(n)等於Ω(nloga)。

Here, 
f(n) = 2^n , and
Ω(n^log 1) = Ω(1)

2^n = Ω(1) ,因為對於某些常數c> 0且所有足夠大的n,2 ^n≥c* 1。

所以T(n)= f(n)
T(n)= O(2 ^ n)

這很容易做到沒有主定理:

T(n) = T(n / 2) + 2^n)
     = T(n / 4) + 2^(n / 2) + 2^n
     = ...
     < 2^0 + 2^1 + ... + 2^n
     = [2^(n + 1) - 1] / (2 - 1) (sum of a geometric progression formula)

=> T(n) = O(2^(n + 1)) = O(2*2^n) = O(2^n)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM