微積分中有無窮小和有界的概念,對應的符號分別為
o o
, o' role="presentation">oo。
類似的,在演算法分析中也有漸近上/下界、非緊上/下界和緊漸近界的概念,對應的符號分別為o/
ω,o/
ω o/ω
,o/ω
和θ θ
。 既然前兩個符號相同,那麼這些符號有什麼聯絡呢?
根據微積分學中的定義,有界符號
o o
定義為 α(
x)=o
(β(x
))⇔∃
m>0,
s.t.
|α(x
)β(x
)|<
m' role="presentation">α(x
)=o(
β(x)
)⇔∃m
>0,
s.t.
∣∣α(
x)β(
x)∣∣
(x)=
o(β(
x))⇔
∃m>0,
s.t.
|α(x
)β(x
)|<
m無窮小量符號
o o
定義為 α(
x)=o
(β(x
))⇔limx→
x0α(
x)β(
x)=0
' role="presentation">α(x
)=o(
β(x)
)⇔limx→x
0α(x
)β(x
)=0α
(x)=
o(β(
x))⇔
limx→x
0α(x
)β(x
)=0
而在演算法分析中,漸近上下界定義為 o(
g(n)
)=o (g
(n))
=,即g(
n)g (n
)是f(
n)f (n
)的上界 ω(
g(n)
)=ω (g
(n))
=,即g(
n)g (n
)是f(
n)f (n
)的下界 o(
g(n)
)=o (g
(n))
=,即g(
n)g (n
)是f(
n)f (n
)的非緊上界 ω(
g(n)
)=ω (g
(n))
=,即g(
n)g (n
)是f(
n)f (n
)的非緊下界 θ(
g(n)
)=θ (g
(n))
=,即g(
n)g (n
)是f(
n)f (n
)的緊漸近界。聯絡矩陣代數中向量範數等價性(∥⋅
∥1‖ ⋅‖
1和∥⋅
∥2‖ ⋅‖
2等價指 ∃c
1,c2
>0,
s.t.
∀x∈x
,c1∥
x∥1≤
∥x∥2
≤c1∥
x∥2 ∃c1
,c
2>0,
s.t.
∀x∈x
,c1‖
x‖1≤
‖x‖2
≤c1‖
x‖
2)的定義,發現二者很相似。即微積分中的同階無窮大。
從定義上看,微積分中的符號表明了兩個變數之間的一種關係,而演算法分析中的符號表示一種運算,其結果是乙個集合,二者的含義是不同的。但從定義的出發點來看,二者其實是一樣的。
實際上,根據第二種定義,我們可以定義一種等價關係,使得同乙個集合o(
g(n)
) o(g
(n))
裡的元素等價,從而該集合可以被其中的任何乙個元素代表,當然也可以由g(
n)g (n
)代表。於是要證明兩個集合相等,可以直接證明兩個集合中的元素存在一組相等(這裡討論的相等實際上是廣義的等價關係),而不用根據集合相等的定義去證明兩個集合互相包含。
本質上是一樣的。
另外由等價關係(自反、傳遞、對稱)、偏序關係(自反、傳遞、反對稱)和相容關係(自反、對稱)的定義可知,緊漸進界是一種等價關係,而漸近上下界是一種偏序關係,非緊上下界不屬於任何三種中的一種關係。另外,這其中的對偶關係也可以很容易得出來。
微積分學的發現
回顧歷史,1672年,26歲的 小毛頭 萊布尼茲 leibniz,1646 1716 在惠更斯的指點下,轉向數學研究,在閱讀帕斯卡數學著作,受到啟發。在笛卡爾直角座標系下,萊布尼茲發現,給定乙個曲邊梯形,面積為s,將其無限分割為豎形直方形,底邊寬度為 x 無窮小 高度為f,那麼,存在以下相等關係 i...
公鑰密碼學中的RSA演算法分析
公鑰密碼體系又稱為非對稱密碼,即加密和解密演算法使用不同的金鑰 乙個是公鑰pu 乙個是私鑰pr。公鑰密碼學的應用場景有 rsa依賴數論中的一些知識 a b 1 bmod n a a bmod n 其中計算乘法逆元時的歐幾里得演算法在計算上是容易的,通常將a對n取模的逆元寫成 b a bmod n 此...
資料結構和演算法中的複雜度分析
了解複雜度分析,資料結構和演算法中複雜度分為時間複雜度和空間複雜度,我們用大o表示法,時間複雜度分析用三種方法分析 1 只關注迴圈執行次數最多的一段 以下 複雜度為o n private int cal int n return sum 2.加法法則 總複雜度等於量級最大的那段 的複雜度,以下 複雜...