Skip to content

Algorithm Basic ​

時間複雜度 Time Complexity ​

時間複雜度是一種衡量一個演算法運行時間長短的方式,它描述的是演算法執行時間與數據規模之間的增長關係。時間複雜度通常用大 O 符號表示,例如 O(n),O(n^2),O(log n) 等。

例如,時間複雜度為 O(n) 的演算法,如果輸入數據的規模增加一倍,那麼執行時間也會增加一倍;時間複雜度為 O(n^2) 的演算法,如果輸入數據的規模增加一倍,那麼執行時間會增加四倍;時間複雜度為 O(log n) 的演算法,如果輸入數據的規模增加一倍,那麼執行時間會增加一個常數。

時間複雜度是評估演算法效率的一個重要指標,但它並不是唯一的衡量標準。在實際應用中,還需要考慮到其他因素,如空間複雜度(演算法需要使用的記憶體空間),以及實際運行環境等。

空間複雜度 Space Complexity ​

空間複雜度是衡量一個演算法在運行過程中額外使用的記憶體空間大小的度量。它不包括輸入數據所占用的空間,只包括在運行過程中,演算法額外申請的存儲空間。

空間複雜度通常也用大 O 符號表示,例如 O(1),O(n),O(n^2) 等。例如,空間複雜度為 O(1) 的演算法,無論輸入數據的規模如何,都只需要固定大小的額外空間;空間複雜度為 O(n) 的演算法,如果輸入數據的規模增加一倍,那麼需要的額外空間也會增加一倍。

空間複雜度和時間複雜度一樣,都是評估演算法效率的重要指標。在實際應用中,需要根據具體情況權衡時間複雜度和空間複雜度,選擇最適合的演算法。

Last updated:

MIT License.