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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

多项式时间 (Polynomial time)

發(fā)布時(shí)間:2024/1/1 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多项式时间 (Polynomial time) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
什么是時(shí)間復(fù)雜度?

時(shí)間復(fù)雜度并不是表示一個(gè)程序解決問題需要花多少時(shí)間,而是當(dāng)程序所處理的問題規(guī)模擴(kuò)大后,程序需要的時(shí)間長(zhǎng)度對(duì)應(yīng)增長(zhǎng)得有多快。也就是說,對(duì)于某一個(gè)程序,其處理某一個(gè)特定數(shù)據(jù)的效率不能衡量該程序的好壞,而應(yīng)該看當(dāng)這個(gè)數(shù)據(jù)的規(guī)模變大到數(shù)百倍后,程序運(yùn)行時(shí)間是否還是一樣,或者也跟著慢了數(shù)百倍,或者變慢了數(shù)萬(wàn)倍。

不管數(shù)據(jù)有多大,程序處理所花的時(shí)間始終是那么多的,我們就說這個(gè)程序很好,具有 O(1)O(1)O(1) 的時(shí)間復(fù)雜度,也稱常數(shù)級(jí)復(fù)雜度;數(shù)據(jù)規(guī)模變得有多大,花的時(shí)間也跟著變得有多長(zhǎng),比如找n個(gè)數(shù)中的最大值這個(gè)程序的時(shí)間復(fù)雜度就是 O(n)O(n)O(n),為線性級(jí)復(fù)雜度,而像冒泡排序、插入排序等,數(shù)據(jù)擴(kuò)大2倍,時(shí)間變慢4倍的,時(shí)間復(fù)雜度是 O(n2)O(n^2)O(n2),為平方級(jí)復(fù)雜度。還有一些窮舉類的算法,所需時(shí)間長(zhǎng)度成幾何階數(shù)上漲,這就是 O(an)O(a^n)O(an) 的指數(shù)級(jí)復(fù)雜度,甚至 O(n!)O(n!)O(n!) 的階乘級(jí)復(fù)雜度。

不會(huì)存在 O(2?n2)O(2*n^2)O(2?n2) 的復(fù)雜度,因?yàn)榍懊娴哪莻€(gè)"2"是系數(shù),根本不會(huì)影響到整個(gè)程序的時(shí)間增長(zhǎng)。同樣地,O(n3+n2)O(n^3+n^2)O(n3+n2) 的復(fù)雜度也就是 O(n3)O(n^3)O(n3)的復(fù)雜度。因此,我們會(huì)說,一個(gè) O(0.01?n3)O(0.01*n^3)O(0.01?n3)的程序的效率比 O(100?n2)O(100*n^2)O(100?n2) 的效率低,盡管在n很小的時(shí)候,前者優(yōu)于后者,但后者時(shí)間隨數(shù)據(jù)規(guī)模增長(zhǎng)得慢,最終 O(n3)O(n^3)O(n3) 的復(fù)雜度將遠(yuǎn)遠(yuǎn)超過 O(n2)O(n^2)O(n2)。我們也說,O(n100)O(n^{100})O(n100) 的復(fù)雜度小于 O(1.01n)O(1.01^n)O(1.01n) 的復(fù)雜度。

容易看出,前面的幾類復(fù)雜度被分為兩種級(jí)別,其中后者的復(fù)雜度無(wú)論如何都遠(yuǎn)遠(yuǎn)大于前者。像 O(1)O(1)O(1), O(ln?(n))O(\ln(n))O(ln(n)), O(na)O(n^a)O(na)等,我們把它叫做多項(xiàng)式級(jí)復(fù)雜度,因?yàn)樗囊?guī)模n出現(xiàn)在底數(shù)的位置;另一種像是 O(an)O(a^n)O(an)O(n!)O(n!)O(n!) 等,它是非多項(xiàng)式級(jí)的復(fù)雜度,其復(fù)雜度計(jì)算機(jī)往往不能承受。當(dāng)我們?cè)诮鉀Q一個(gè)問題時(shí),我們選擇的算法通常都需要是多項(xiàng)式級(jí)的復(fù)雜度,非多項(xiàng)式級(jí)的復(fù)雜度需要的時(shí)間太多,往往會(huì)超時(shí),除非是數(shù)據(jù)規(guī)模非常小。

總結(jié)

以上是生活随笔為你收集整理的多项式时间 (Polynomial time)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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