大O表示法

2022-06-09 18:36:08 字數 849 閱讀 5749

概念

大o表示法是和資料項的個數相關聯的粗略度量演算法時間複雜度的快捷方法。

常數

乙個無序可重複陣列插入乙個資料項的時間t是常數k,常數k表示一次插入所花費的時間,包含cpu、編譯器等工作時間。

可表示為:t = k

線性查詢

從陣列中線性查詢乙個資料項平均需要n/2步,每步所花費的時間為k

可表示為:t = k*n/2

常數2可以併入k

進而可以表示為:t = k*n

二分查詢

從乙個有序陣列中二分查詢乙個資料項平均需要log2(n)步,每步所花費的時間為k

可表示為:t = k*log2(n)

因為所有對數和其他對數都成比例,比如,從底數是2轉換為底數是10需乘以3.322,所以可以將底數常數併入k

進而可以表示為:t = k*log(n)

大o表示法

大o表示法和上面的公式比較類似,但它省去了常數k。因為我們並不在乎具體的微處理器或編譯器;真正需要比較的是對應不同的n值,t是如何變化的,而不是具體的數字。

大o表示法使用大寫字母o,其含義是"order of"——大約的意思。

無序可重複陣列插入乙個資料項表示為——o(1)

線性查詢表示為——o(n)

二分查詢表示為——o(log n)

氣泡排序比較和交換都是——o(n2)

大O表示法

用另乙個 通常更簡單的 函式來描述乙個函式數量級的漸近上界。大o表示法 稱乙個函式g n 是o f n 當且僅當存在常數c 0和n0 1對一切n n0均有 g n c f n 成立,也稱函式g n 以f n 為界或者稱g n 受限於f n 記作g n o f n 定義 如果乙個問題的規模是n,解這一...

大O表示法

大o表示法 汽交按尺寸被分為若干類 微型 小型 中型等等。在不提及具體尺寸的情況下,這些分類可以為我們所涉及到車的大小提供乙個大致慨念。我們同樣也需要一種快捷的方法來評價計算機演算法的效率,在電腦科學中,這種粗略的度量方法被稱作 大o 表示法。在比較演算法時似乎應該說一些類似 演算法a比演算法b快兩...

大o表示法

下面是一些常用的時間複雜度以及簡單的定義 o 1 常量時間 o 1 表示該演算法的執行時間 或執行時占用空間 總是為乙個常量,不論輸入的資料集是大是小。bool isfirstelementnull ilistelements o n o n 表示乙個演算法的效能會隨著輸入資料的大小變化而線性變化。...