第二節 漸近符號 遞迴及解法

2021-08-15 18:45:12 字數 2097 閱讀 2234

一、漸進符號

1、of(n)=o(g(n)) 表示存在適當的常數c和n0使得f(n)小於或等於c*g(n),對於充分大的n成立

0<=f(n)<=c*g(n)  (c>0,n0>0,n>=n0)

例:2n^2 = o(n^3)

粗略的說就是去掉首項係數和低階項,剩下的小於或等於n^3

o粗略的說就是小於或等於,這裡的等號不對稱

f(n)是屬於g(n)構成的函式集,可以定義o(g(n))為乙個函式集

o(g(n))=

即可以理解為2n^2 屬於o(n^3)

例:f(n)=n^3+o(n^2)

即存在某個函式h(n)在o(n^2)中使得f(n)=n^3+h(n),總的來說有低階項以某個常數乘以n^2為上界,對於足夠大的n成立

如果o符號在左邊的話.等號為"是"的意思

n^2+o(n) = o(n^2)

對於任何f(n)屬於o(n),總有乙個函式h(n)屬於o(n^2),使得n^2+f(n)=h(n)

對於任何在左邊巨集展開的表示式,都能在右邊找到乙個對應的展開,使左右相等

2、ωω(g(n))=

例: 根號n=ω(lgn)

根號n至少是lgn的常數倍

ω對應大於或者等於

3、θθ(g(n))=o(g(n))∩ω(g(n)) 故θ代表等於即n^2=θ(n^2)

4、o、w  o相當於小於,w相當於大於,任意常數c都存在乙個任意常數n0,不等式必須對於所有的c成立

例:2n^2=o(n^3)  n0=2/c 不管c多小,依然成立

二、解遞迴式

1.代換法

1.1. 猜答案  大致知道形式即可

1.2. 用數學歸納法證明

1.3. 尋找常數係數,查詢什麼係數可以成立

例:t(n)=4t(n/2)+n

t(1)=θ(1)

試猜想t=o(n^3)

t(k) = c k^3 kt(n) = 4t(n/2)+n<=4c(n/2)^3+n

=1/2*c*n^3+n=cn^3-(1/2*c*n^3-n)

<=cn^3

(1/2*c*n^3-n)>=0  c>=1,n>=1   

證明緊界 t=o(n^2)

t(k) = c k^2  kt(n) = 4t(n/2)+n<=4c(n/2)^2+n

=cn^2+n=cn^2-(-n)

<=cn^2

-n>=0 n>=0 n!=0 故不成立

改進數學歸納 增加低階項

t(k) = c1 k^2-c2*k

t(n)= 4t(n/2)+n = 4(c1 (n/2)^2-c2*n/2)+n

=c1 n^2 - 2c2 * n + n

=c1 n^2 - c2*n - (c2-1)*n

<=c1 n^2 - c2 * n

c2-1>=0 即 c2>=1

對於特殊情況

t(1)<=c1-c2

t(1)=θ(1)

故c1需要足夠大

2.遞迴樹法

例:t(n) = t(n/4)+t(n/2)+n^2

3.主方法

只能運用到特定的遞迴式上,符合t(n)=at(n/b)+f(n),每個子問題的規模應該相等

a>=1  b>1  f(n) 漸進趨正(對於足夠大的n,f(n)是正的,存在某個特定n0,當n>=n0時,f(n)>0)

簡單思路:比較非遞迴函式f(n)和n^logba(logba是遞迴樹中葉結點的數量)

3.1.1 f(n)較小

f(n)=o(n^(logba-ε))(ε>0)  =>  t(n) = θ(n^(logba))

3.1.2 f(n)相等

f(n) = θ(n^logba*(lgn)^k)(k>=0)

t(n) = θ(n^logba*(lgn)^(k+1))

3.1.3 f(n)增長較快

f(n) = ω(n^(logba+ε))(ε>0)

同時對f(n)有乙個假設,考慮f(n)如何增長

af(n/b)<=(1-ε′)*f(n) 存在 ε′>0 =>t(n)=θ(f(n))

彙編 第二節

第二節 cpu主要有有運算器,控制器,暫存器,三部分組成 8086 cpu有14個暫存器,如ax,bx,cx,dx,si。8086所有暫存器都是16位的,可以存放2個byte即位元組,16位二進位制數 所能存放的最大數值是 11111111111 2 16 1 從0開始,所以 1嘛 通用暫存器為4個...

函式第二節

coding utf 8 1.定義乙個方法get num num num引數是列表型別,判斷列表裡面的元素為數字型別。其他型別則報錯,並且返回乙個偶數列表 注 列表裡面的元素為偶數 def get num l l for i in l 判斷列表l的元素是否都為整形 if not isinstance...

第二節練習

a b 2 鏈式賦值 print a print b c id a 位址print c c type a 型別 print c a,b 2,3 系列解包賦值 a,b b,a print a print b 基本運算 print 3 2 print 30 5 print 30 5 print 30 5...