日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

时间复杂度

發(fā)布時(shí)間:2024/4/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时间复杂度 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

時(shí)間復(fù)雜度一直很迷。。。。 在網(wǎng)上找了看了一些博客,一句話,看不懂。。。。 于是自己去學(xué)了一下,總結(jié)為下面的。

算法的效率,就是說一個(gè)算法的執(zhí)行時(shí)間,它始終還是由我們執(zhí)行每一行代碼的次數(shù)來決定。我們可為每一個(gè)算法編寫一個(gè)測試程序,然后拿到機(jī)器上去跑,但是由于除了算法本生,測試結(jié)果還受到很多其他因素的影響,列如cpu的執(zhí)行速度等不確定因素,而且我們也不可能為了每一個(gè)算法去編寫一個(gè)測試程序這樣也不現(xiàn)實(shí)。

所以后來人們采用事前估算的方法,依據(jù)統(tǒng)計(jì)學(xué)。這種情況下拋開了其他所有的不確定因素,一個(gè)算法的效率由一個(gè)算法的本生好壞和輸入規(guī)模來決定。

例如:

當(dāng)n很大的時(shí)候,兩種算法的差距就大了起來,第一個(gè)是2n+2次,第二個(gè)始終都是2次。
上面的兩個(gè)算法分別可以看做時(shí)間復(fù)雜度為n和1,下面來解釋為什么是這樣。

時(shí)間復(fù)雜度

研究算法的復(fù)雜度,側(cè)重的研究輸入規(guī)模很大的情況,在這種情況下我們就可以忽略一個(gè)復(fù)雜度中的一些小項(xiàng),也就是執(zhí)行次數(shù)特別大的情況,因?yàn)檫@樣才能判定一個(gè)算法的在某種場景下的好與壞,這個(gè)時(shí)候就需要利用統(tǒng)計(jì)學(xué)知識(shí)。我們接下來通過大量的例子來解釋。通過這幾個(gè)例子為后面的算法時(shí)間復(fù)雜度做鋪墊。

例一

將設(shè)A算法要做2n+3次計(jì)算,B需要做3n+1次操作,你覺得哪一個(gè)更快一點(diǎn)呢。下面來看看統(tǒng)計(jì)的結(jié)果。


從結(jié)果來看最開始算法A1不及B1,當(dāng)n大于5的時(shí)候,執(zhí)行次數(shù)少于B1,到后面完全勝過它,這就是輸入規(guī)模的重要性,而且我們看A2、B2發(fā)現(xiàn)當(dāng)輸入規(guī)模很大的時(shí)候常數(shù)項(xiàng)可以完全忽略。
函數(shù)的漸進(jìn)增長: 給定兩個(gè)函數(shù),f(n)、g(n),如果存在一個(gè)整數(shù)N當(dāng)n>N的時(shí)候,f(n)總是比g(n)大,那么我們說f(n)的漸進(jìn)增長比g(n)大。
當(dāng)

例二

算法C為4n+8,算法D為2n^2 + 8


圖上有錯(cuò),第二張圖為C1、C2, D1,D2。
從觀察當(dāng)中可以可以發(fā)現(xiàn),當(dāng)n很大的時(shí)候,相乘的系數(shù),影響也很小了,比如4n+8和n,在圖上都重疊到一塊兒去了,但是對(duì)于C1、C2,系數(shù)有影響,但是對(duì)比C、D算法的時(shí)候,可以看出系數(shù)并不影響比較??梢缘贸鼋Y(jié)論系數(shù)不影響兩個(gè)算法之間的比較,因此也可以去掉。

例三

算法E為2n^2+3n+1,算法F為2n^3+3n+1


通過圖中對(duì)比E、F兩個(gè)算法,可以看到指數(shù)對(duì)于測試結(jié)果影響很大。

例四

算法G為2n^2,算法H為3n+1,算法I為2n^2+3n+1


因此我們可以得出結(jié)論: 判斷一個(gè)算法的效率的時(shí)候,函數(shù)中的常數(shù)和次要項(xiàng)都可以忽略,而更應(yīng)改關(guān)注最高項(xiàng)的介數(shù)。

時(shí)間復(fù)雜度的計(jì)算

用大寫O()來作為時(shí)間復(fù)雜度的記法,稱為大O記法

那么我們?cè)趺磥硗茖?dǎo)大O階呢。首先我們需要計(jì)算出程序執(zhí)行的次數(shù),再按照下面總結(jié)出來的方式來求解,這里的總結(jié)均來自前面的例子

  • 只有常數(shù)項(xiàng),將常數(shù)看做1,得到O(1)
  • 對(duì)于多項(xiàng)表達(dá)式,只保留最高項(xiàng),且去除與這個(gè)項(xiàng)相乘的常數(shù)

其實(shí)就是這么簡單。。。。,我在網(wǎng)上看到的其他文章語言實(shí)在太官方,明明簡單的東西被這些糟老頭子給整復(fù)雜了。下面來看幾個(gè)計(jì)算的例子:


上面的時(shí)間復(fù)雜度為O(1)


時(shí)間復(fù)雜度為O(n)


時(shí)間復(fù)雜度為o(n^2)


上面的例子為對(duì)數(shù)階。假設(shè)程序執(zhí)行x次退出循環(huán),那么可以得到等式2^x=n,所以當(dāng)x=log(2底數(shù))n的時(shí)候推出循環(huán),執(zhí)行次數(shù)為log(2)n + 1,所以可以得到最終結(jié)果為O(logn)

還有一個(gè)空間復(fù)雜度,空間可以換取時(shí)間,時(shí)間也可以換取空間,在實(shí)際當(dāng)中往往要在二者之間達(dá)到一個(gè)平衡

總結(jié)

以上是生活随笔為你收集整理的时间复杂度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲影视一区二区 | 亚洲第一页在线 | 又粗又大又硬又长又爽 | 日韩成人av网 | 亚洲欧美日韩中文字幕在线观看 | 久久久久久九九九九九 | 久久在现 | jizzjizz日本免费视频 | 亚洲精品国产精品国 | 男人午夜剧场 | 6080电视影片在线观看 | www.免费av | 午夜网 | 亚洲女人毛茸茸 | 麻豆精品一区二区 | 国产精品九九九 | 口爆吞精一区二区三区 | 日韩在线观看视频一区二区三区 | 国产噜噜噜噜噜久久久久久久久 | 免费a级片视频 | 国产伦精品一区二区三区网站 | www.成人免费| 精品人妻无码一区二区三区 | 国产99自拍| 天天色天天色 | 91精品视频一区 | 奇米影视网 | 欧美性色视频 | 最近国语视频在线观看免费播放 | 在线射 | 中文字幕一区二区三区波野结 | 国产一二| 九草在线 | 日韩综合网 | 亚洲国产精品久久久久久久 | 欧美激情在线免费观看 | 欧美黑人性xxx猛交 少妇无套内谢久久久久 | 亚洲第一成肉网 | 久久亚洲精选 | 一区二区三区在线免费播放 | 免费黄色的网站 | 亚洲一区二区欧美 | 91高清无打码 | 国产一区二区三区日韩 | 色视频免费观看 | 村姑电影在线播放免费观看 | 可以看的黄色网 | 日韩欧美综合在线 | 国产福利一区二区三区在线观看 | 色88久久久久高潮综合影院 | 精品国产一区二区三区无码 | 国产激情网站 | 人人澡人人干 | 国内视频一区二区三区 | 乱lun合集小可的奶水 | 麻豆91视频| 国产一区二区三区视频播放 | 欧av在线| 91超薄丝袜肉丝一区二区 | 精品一区二区在线播放 | 超色视频| 成人综合在线观看 | 亚洲 高清 成人 动漫 | 欧美精品第二页 | www.欧美色图 | 999热精品 | 久久久久久9999 | 日韩一区二区三区在线看 | 殴美毛片| 青草精品在线 | 亚洲欧美色图在线 | 中日韩精品一区二区三区 | 免费不卡av在线 | 亚洲欧美视频 | 久久久久久久久久久久久久久久久久 | 可以看av的网站 | 天堂在线精品 | 亚洲黄色网址大全 | 亚洲另类色综合网站 | www.99re7.com| 国产亚洲精品码 | 青娱乐超碰在线 | 97在线免费视频 | 久久性片 | 中文字幕av影视 | 大尺度做爰呻吟舌吻网站 | 69er小视频 | 狠狠搞视频 | 亚洲免费砖区 | a在线免费观看 | 中文字幕无码精品亚洲35 | 亚洲成人精品在线观看 | 亚洲精品国产欧美 | 男生操女生免费网站 | 久久理论电影 | 人妻互换一二三区激情视频 | 91插插插插插插插 | 国产人妻互换一区二区 | 一级片视频网站 |