問題詳情

21.Big O 表示法是用來描述算法執行時間複雜度的方法,隨著輸入規模的增加,Big O 時間複雜度從小到大的正確排序為?
(A) O(1) < O(log n) < O(n) < O(n log n) < O(n^2) < O(2^n) < O(n!)
(B) O(1) < O(log n) < O(n) < O(n log n) < O(n^2) < O(n!) < O(2^n)
(C) O(1) < O(log n) < O(n) < O(n^2) < O(n log n) < O(2^n) < O(n!)
(D) O(1) < O(log n) < O(n) < O(n^2) < O(n log n) < O(n!) < O(2^n)

參考答案

答案:A
難度:計算中-1
書單:沒有書單,新增

用户評論

不叫賭俠的陳小刀】評論

(A) O(1) < O(log n) < O(n) < O(n log n) < O(n^2) < O(2^n) < O(n!)在這個排序中,我們將算法的時間複雜度按照增長率由小到大排列。這些符號表示了算法執行時間與輸入規模之間的關係。O(1):表示常數時間複雜度,無論輸入規模如何增加,算法執行時間都保持不變。O(log n):表示對數時間複雜度,隨著輸入規模的增加,算法執行時間以對數方式增加。O(n):表示線性時間複雜度,算法執行時間與輸入規模成正比。O(n log n):表示線性對數時間複雜度,隨著輸入規模的增加,算法執行時間以 n log n 的方式增加。O(n^2):表示平方時間複雜度,算法執行時間與輸入規模的平方成正比。O(2^n):表示指數時間複雜度,算法執行時間隨著輸入規模增加呈指數級增長。O(n!):表示階乘時間複雜度,算法執行時間隨著輸入規模增加呈階乘級增長。根據這些定義,我們可以確定(A)是正確的排序,因為它按照增長率由小到大排列這些時間複雜度。