日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在實現(xiàn)算法的時候,通常會從兩方面考慮算法的復(fù)雜度,即時間復(fù)雜度和空間復(fù)雜度。顧名思義,時間復(fù)雜度用于度量算法的計算工作量空間復(fù)雜度用于度量算法占用的內(nèi)存空間

本文將從時間復(fù)雜度的概念出發(fā),結(jié)合實際代碼示例分析算法的時間復(fù)雜度

漸進(jìn)時間復(fù)雜度

時間復(fù)雜度是算法運(yùn)算所消耗的時間,因為不同大小的輸入數(shù)據(jù),算法處理所要消耗的時間是不同的,因此評估一個算運(yùn)行時間是比較困難的,所以通常關(guān)注的是時間頻度,即算法運(yùn)行計算操作的次數(shù),記為T(n),其中n稱為問題的規(guī)模。

同樣,因為n是一個變量,n發(fā)生變化時,時間頻度T(n) 也在發(fā)生變化,我們稱時間復(fù)雜度的極限情形稱為算法的漸近時間復(fù)雜度,記為O(n),不包含函數(shù)的低階和首項系數(shù)。

我們以如下 例子來解釋一下:

Python算法中的時間復(fù)雜度

 

如上例子中,我們根據(jù)代碼上執(zhí)行的平均時間假設(shè),計算 run_time(n) 函數(shù)的時間復(fù)雜度,如下:

Python算法中的時間復(fù)雜度

 

上述時間復(fù)雜度計算公式T(n) ,是我們對函數(shù) run_time(n) 進(jìn)行的時間復(fù)雜度的估算。當(dāng)n 值非常大的時候,T(n)函數(shù)中常數(shù)項 time0 以及n的系數(shù) (time1+time2+time3+time4) 對n的影響也可以忽略不計了,因此這里函數(shù)run_time(n) 的時間復(fù)雜度我們可以表示為 O(n)

因為我們計算的是極限狀態(tài)下(如,n非常大)的時間復(fù)雜度,因此其中存在以下兩種特性:

  • 低階項相對于高階項產(chǎn)生的影響很小,可以忽略不計。
  • 最高項系數(shù)對最高項的影響也很小,可以忽略不計。

根據(jù)上述兩種特性,時間復(fù)雜度的計算方法:

1.只取最高階項,去掉低階項。

2.去掉最高項的系數(shù)。

3.針對常數(shù)階,取時間復(fù)雜度為O(1)。


我們通過下面例子理解一下常見的時間復(fù)雜度,如下:

時間復(fù)雜度:常數(shù)階 O(1)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:線性階 O(n)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:線性階 O(n)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:平方階 O(n^2)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:平方階 O(n^2)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:平方階 O(n^2)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:立方階 O(n^3)

Python算法中的時間復(fù)雜度

 

時間復(fù)雜度:對數(shù)階 O(logn)

Python算法中的時間復(fù)雜度

 

隨著問題規(guī)模n的不斷增大,上述時間復(fù)雜度不斷增大,算法的執(zhí)行效率越低,時間復(fù)雜度排序如下:

Python算法中的時間復(fù)雜度

 


練習(xí)一下

如下count_sort 函數(shù)實現(xiàn)了計數(shù)排序,列表中的數(shù)范圍都在0到100之間,列表長度大約為100萬。

Python算法中的時間復(fù)雜度

 

如上count_sort 函數(shù)的 空間復(fù)雜度為 O(n),公式如下:

Python算法中的時間復(fù)雜度

 

分享到:
標(biāo)簽:Python
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定