1. 程式人生 > >復雜度歸納--小結

復雜度歸納--小結

時序 不同 理想 什麽 表示 時間復雜度 規律 代碼 高級

一、復雜度分析的4個概念
1.最壞情況時間復雜度:代碼在最理想情況下執行的時間復雜度。
2.最好情況時間復雜度:代碼在最壞情況下執行的時間復雜度。
3.平均時間復雜度:用代碼在所有情況下執行的次數的加權平均值表示。
4.均攤時間復雜度:在代碼執行的所有復雜度情況中絕大部分是低級別的復雜度,個別情況是高級別復雜度且發生具有時序關系時,可以將個別高級別復雜度均攤到低級別復雜度上。基本上均攤結果就等於低級別復雜度。

二、為什麽要引入這4個概念?
1.同一段代碼在不同情況下時間復雜度會出現量級差異,為了更全面,更準確的描述代碼的時間復雜度,所以引入這4個概念。
2.代碼復雜度在不同情況下出現量級差別時才需要區別這四種復雜度。大多數情況下,是不需要區別分析它們的。

三、如何分析平均、均攤時間復雜度?
1.平均時間復雜度
代碼在不同情況下復雜度出現量級差別,則用代碼所有可能情況下執行次數的加權平均值表示。
2.均攤時間復雜度
兩個條件滿足時使用:1)代碼在絕大多數情況下是低級別復雜度,只有極少數情況是高級別復雜度;2)低級別和高級別復雜度出現具有時序規律。均攤結果一般都等於低級別復雜度。

復雜度歸納--小結