如何評估演算法效能 大O表示法

2021-10-02 12:47:13 字數 843 閱讀 7608

一、請問如何評估乙個演算法的效能?什麼是大o表示法?

答:評估演算法效能,主要評估問題的輸入規模n與元素訪問次數f(n)的次數。

大o符號,忽略非主體部分,如常數項、低階項。o(g(n)),g(n)表示漸進上界。

二、請說出以下程式的時間複雜度?

for(int i=1;i<=n;i++)      o(n)線性複雜度

for(int i=1;i<=n;i++)      o(n^2)平方複雜度

for(int i=1;i<=n;i++)      1+2+3+..+n= n(n+1)/2    o(n^2)   平方複雜度

for(int i=1;i<=n;i++)  }      o(n^3)   立方複雜度

int count=1; while(count三、這世界存在常數階的演算法嗎?

答:常數階的演算法就是無論n怎麼增長,消耗的時間都相同。即o(1),比如數學小王子對1到100的計算?

1+2+3+4+...+100=(1+100)*50

三、請說一下常見函式的複雜度計算?

答:演算法複雜度/1s可處理的資料

lgn/2^10的八次方; n/100000000;n^2/10000;n^3/500;2^n/27;

假設n的規模為10的八次方,複雜度/所花時間

lgn/27/10^8s; n/1s;n^2/100000000s;n^3/10^16s;2^n/巨大的數字s;

四、請你根據大o表示法,對演算法效能進行排序?

答:o(1)常量演算法》o(sqrt(n))>o(n)線性演算法》o(lg(n))二分查詢》o(nlg(n))二分查詢,歸併,快排》o(n^2)氣泡排序,直接插入排序,選擇排序》o(n^3)>o(2^n)

大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 表示乙個演算法的效能會隨著輸入資料的大小變化而線性變化。...