3 複雜度分析

2022-07-21 01:45:14 字數 1107 閱讀 7741

如何分析、統計演算法的執行效率和資源消耗?

為什麼需要複雜度分析

大o複雜度表示法

規律:所有**的執行時間t(n)與每行**的執行次數成正比。

時間複雜度分析

1、只關注迴圈執行次數最多的一段**

2、加法法則:總複雜度等於量級最大的那段**的複雜度

3、乘法法則:巢狀**的複雜度等於巢狀內外**複雜度的乘積

幾種常見的時間複雜度例項分析

多項式時間複雜度

空間複雜度

最好、最壞情況時間複雜度

最好情況時間複雜度就是在最理想的情況下,執行這段**的時間複雜度。

最壞情況時間複雜度就是在最糟糕的情況下,執行這段**的時間複雜度。

平均情況時間複雜度

均攤時間複雜度

3 複雜度分析

把 跑一遍,通過統計,監控得到演算法執行時間和占用記憶體大小的方法叫做事後統計法,這種方法有以下侷限性 測試結果非常依賴測試環境 同一段 拿到不同機子上測試會有不同的結果 測試結果受資料規模的影響很大 掌握複雜度分析,將能編寫出效能更優的 有利於降低系統開發和維護成本。綜上,我們需要乙個不用具體的測...

複雜度分析 時間複雜度分析和空間複雜度分析

其實,只要講到資料結構與演算法,就一定離不開時間 空間複雜度分析。而且我個人認為,複雜度分析是整個演算法學習的精髓,只要掌握了它,資料結構和演算法的內容基本上就掌握了一半。1.時間複雜度分析 對於剛才羅列的複雜度量級,我們可以粗略地分為兩類,多項式量級和非多項式量級。其中,非多項式量級只有兩個 o ...

複雜度分析 時間複雜度 空間複雜度

執行效率是演算法的乙個重要的考量指標,演算法的執行效率用時間 空間複雜度來衡量。今天我們來學習一下複雜度的分析。通常我們可以通過執行程式來獲得演算法的真正的執行時間,這種方法我們可以稱為事後統計法,但這種方法得到的是具體的資料,測試結果很依賴測試環境,而且受資料規模影像最大。因此,我們需要乙個不需要...