最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python算法中的時(shí)間復(fù)雜度問題

 更新時(shí)間:2019年11月19日 09:24:14   作者:軟件測(cè)試開發(fā)技術(shù)棧  
時(shí)間復(fù)雜度用于度量算法的計(jì)算工作量,空間復(fù)雜度用于度量算法占用的內(nèi)存空間。這篇文章主要介紹了Python算法中的時(shí)間復(fù)雜度,需要的朋友可以參考下

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

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

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

時(shí)間復(fù)雜度是算法運(yùn)算所消耗的時(shí)間,因?yàn)椴煌笮〉妮斎霐?shù)據(jù),算法處理所要消耗的時(shí)間是不同的,因此評(píng)估一個(gè)算運(yùn)行時(shí)間是比較困難的,所以通常關(guān)注的是時(shí)間頻度,即算法運(yùn)行計(jì)算操作的次數(shù),記為T(n),其中n稱為問題的規(guī)模。

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

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

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

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

因?yàn)槲覀冇?jì)算的是極限狀態(tài)下(如,n非常大)的時(shí)間復(fù)雜度,因此其中存在以下兩種特性:

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

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

1.只取最高階項(xiàng),去掉低階項(xiàng)。

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

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

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

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

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

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

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

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

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

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

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

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

練習(xí)一下

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

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

總結(jié)

以上所述是小編給大家介紹的Python算法中的時(shí)間復(fù)雜度問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Python 多進(jìn)程并發(fā)操作中進(jìn)程池Pool的實(shí)例

    Python 多進(jìn)程并發(fā)操作中進(jìn)程池Pool的實(shí)例

    下面小編就為大家?guī)硪黄狿ython 多進(jìn)程并發(fā)操作中進(jìn)程池Pool的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Django自定義排序ORM示例詳解

    Django自定義排序ORM示例詳解

    這篇文章主要為大家介紹了Django自定義排序ORM示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • python通過pil將圖片轉(zhuǎn)換成黑白效果的方法

    python通過pil將圖片轉(zhuǎn)換成黑白效果的方法

    這篇文章主要介紹了python通過pil將圖片轉(zhuǎn)換成黑白效果的方法,實(shí)例分析了Python中pil庫(kù)的使用技巧,需要的朋友可以參考下
    2015-03-03
  • centos 安裝Python3 及對(duì)應(yīng)的pip教程詳解

    centos 安裝Python3 及對(duì)應(yīng)的pip教程詳解

    這篇文章主要介紹了centos 安裝Python3 及對(duì)應(yīng)的pip的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python中返回字典鍵的值的values()方法使用

    Python中返回字典鍵的值的values()方法使用

    這篇文章主要介紹了Python中返回字典鍵的值的values()方法使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 基于python實(shí)現(xiàn)在excel中讀取與生成隨機(jī)數(shù)寫入excel中

    基于python實(shí)現(xiàn)在excel中讀取與生成隨機(jī)數(shù)寫入excel中

    最近接個(gè)項(xiàng)目,項(xiàng)目要求是這樣的:在一份已知的excel表格中讀取學(xué)生的學(xué)號(hào)與姓名,再將這些數(shù)據(jù)放到新的excel表中的第一列與第二列,最后再生成隨機(jī)數(shù)作為學(xué)生的考試成績(jī),具體實(shí)現(xiàn)代碼大家參考下本文
    2018-01-01
  • socket連接關(guān)閉問題分析

    socket連接關(guān)閉問題分析

    socket建立連接的時(shí)候是三次握手,這個(gè)大家都很清楚,但是socket關(guān)閉連接的時(shí)候,需要進(jìn)行四次揮手,但很多人對(duì)于這四次揮手的具體流程不清楚,吃了很多虧,本文來為大家進(jìn)行分析
    2022-01-01
  • python怎么判斷模塊安裝完成

    python怎么判斷模塊安裝完成

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python如何判斷模塊是否安裝的技術(shù)文章,有興趣的朋友們可以參考下。
    2020-06-06
  • 深入理解Python中的Contextlib庫(kù)

    深入理解Python中的Contextlib庫(kù)

    Python提供了一些內(nèi)建的庫(kù)以支持各種常見的編程任務(wù),Contextlib庫(kù)是其中之一,它提供了一些用于支持上下文管理協(xié)議(即with語句)的函數(shù),這篇文章將詳細(xì)介紹如何使用Contextlib庫(kù)中的功能,需要的朋友可以參考下
    2023-06-06
  • Python調(diào)用golang代碼詳解

    Python調(diào)用golang代碼詳解

    這篇文章主要給大家介紹了關(guān)于Python調(diào)用golang代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02

最新評(píng)論

北辰区| 鲁甸县| 绥棱县| 称多县| 满洲里市| 通城县| 铜梁县| 犍为县| 镇宁| 博客| 三江| 定日县| 大英县| 蒙山县| 尼勒克县| 南城县| 莆田市| 建瓯市| 临海市| 鄢陵县| 洞头县| 土默特左旗| 冕宁县| 莱阳市| 清流县| 通渭县| 栾川县| 辉南县| 雷山县| 湘潭市| 怀仁县| 南川市| 安达市| 奇台县| 彭州市| 北安市| 自治县| 凤阳县| 威远县| 天祝| 易门县|