演算法導論第二課——漸進分析
03-06
本文給出幾種標準方法來簡化演算法的漸進分析,首先定義幾類漸進符號,其中演算法導論第一課中的 notation。
notation表示漸進上界
表示函數具有漸進上界,對於給定的函數
,用
來表示以下函數的集合:
例如 ,這裡的
並不是傳統的等於的意思,而是
的意思,即
當我們說運行時間為 時,指存在一個屬於
的函數
使得對
的任意值,不管選擇什麼規模為n的輸入,其運行時間的上界都是
,也就是說最壞情況運行時間為
.

notation 表示漸進緊確界
對於一個給定的函數 ,用
來表示以下函數的集合:
若存在正常量 使得對於足夠大的
,函數
能夠夾入
和
之間,則
屬於集合
,即
,我們用
來表示同樣的概念。
在演算法導論第一課中我們介紹了 符號的非形式化的概念,相當於扔掉低階項並忽略最高階項前的係數,我們來使用形式化定義來證明
按照定義我們必須確定正常量 來使得對所有的
有:
即得到:
取 ,
,
,即可得到
從上述例子可以看出,常量選擇依賴於函數本身,屬於 的不同函數通常需要不同的常量。
一般來說,對於任意多項式pn ,其中
為常量且
,我們有
.
notation 表示漸進下界
對於給定的函數 ,用
來表示以下函數的集合:
定理:對於任意的兩個函數 ,我們有
,當且僅當
且
推薦閱讀:
※科技特稿 | 凱西·奧尼爾:盲目信仰大數據的時代必須結束
※好好玩的螺旋演算法No.69
※九章演算法 | Uber面試題2 : House Robber III
※演算法教練談談碼工面試
TAG:演算法 |
