[其他] 關於時間複雜度(big O)的排序
大家好,想請教大家一題關於執行程式時,各函數的時間複雜度的排序。
題目將以下所有函數依照時間複雜度O排序,由大到小:
・N^2 + logN
・2^(2^N)
・NlogN
・lnN
・(n+1)!
・lg(lgN)
・n^3
・n!
・(3/2)^N
・2^(logN)
以下是我的排序,時間複雜度最大排到最小的
1. N! , (N+1)! ----這兩個相等 都是O(N)
2. 2^(2^N) ----比O(C^N)又更大
3. (3/2)^N ----O(C^N) (Exponential)
4. 2^(logN) ----比O(C^N)小因為是指數是放logN
5. n^3 ----O(N^3)
6. N^2 + logN ----O(N^2)
7. NlogN ----O(NlogN)
8. lnN ----O(logN)
9. lg(lgN) ----O(loglogN)
想問大家以上的排序正不正確?
我最主要的疑惑是 2^(2^N) , (3/2)^N , 2^(logN) 這三個,
他們都是Exponential的成長速度,但因為指數部分又有包含N在內變數,
所以應該是要照我的排序,還是其實他們三個的時間複雜度都一樣呢?
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 103.232.136.184 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1639204484.A.AC6.html
推
12/11 15:43,
2年前
, 1F
12/11 15:43, 1F
→
12/11 15:46,
2年前
, 2F
12/11 15:46, 2F
→
12/11 16:12,
2年前
, 3F
12/11 16:12, 3F
→
12/11 16:12,
2年前
, 4F
12/11 16:12, 4F
推
12/11 18:06,
2年前
, 5F
12/11 18:06, 5F
推
12/11 20:35,
2年前
, 6F
12/11 20:35, 6F
→
12/11 20:37,
2年前
, 7F
12/11 20:37, 7F
→
12/11 20:39,
2年前
, 8F
12/11 20:39, 8F
→
12/11 20:40,
2年前
, 9F
12/11 20:40, 9F
→
12/11 20:41,
2年前
, 10F
12/11 20:41, 10F
→
12/11 20:43,
2年前
, 11F
12/11 20:43, 11F
→
12/11 22:03,
2年前
, 12F
12/11 22:03, 12F
→
12/11 22:04,
2年前
, 13F
12/11 22:04, 13F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):