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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多项式时间算法

發布時間:2024/1/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多项式时间算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????時間復雜度并不是表示一個程序解決問題需要花多少時間,而是當問題規模擴大后,程序需要的時間隨規模增長得有多快

????也就是說,對于高速處理數據的計算機來說,處理某一個特定數據的效率不能衡量一個程序的好壞。當這個數據的規模變大到數百倍后,程序運行時間是否相差不大,或者也跟著慢了數百倍,或者變慢了數萬倍。

????1、不管數據有多大,程序處理花的時間始終是那么多的,我們就說這個程序很好,具有O(111)的時間復雜度,也稱常數級復雜度;
????2、數據規模變得有多大,花的時間也跟著變得有多長,這個程序的時間復雜度就是O(nnn),比如找n個數中的最大值;
????3、像冒泡排序、插入排序等,數據擴大2倍,時間變慢4倍的,屬于O(n2n^2n2)的復雜度。
????4、窮舉類的算法,所需時間長度成幾何階數上漲,這就是O(ana^nan)的指數級復雜度,甚至O((n!n!n!))的階乘級復雜度。

????不會存在O((2n22n^22n2))的復雜度,因為數字“2”是系數,不會影響到整個程序的時間增長。同樣地,O (n3+n2n^3+n^2n3+n2)的復雜度也就是O(n3n^3n3)的復雜度。因此,我們會說,一個O(0.01n30.01n^30.01n3)的程序的效率比O(100n2100n^2100n2)的效率低,盡管在n很小的時候,前者優于后者,但后者時間隨數據規模增長得慢,最終O(n^3)的復雜度將遠遠超過O(n2n^2n2)。我們也說,O(n100n^{100}n100)的復雜度小于O(1.01n1.01^n1.01n)的復雜度。

????總結:容易看出,前面的幾類復雜度被分為兩種級別,其中后者的復雜度無論如何都遠遠大于前者:一種是O(111),O(log(n)log(n)log(n)),O(nan^ana)等,我們把它叫做多項式級的復雜度,因為它的規模n出現在底數的位置;另一種是O(ana^nan)和O(n!n!n!)型復雜度,它是非多項式級的,其復雜度計算機往往不能承受。當我們在解決一個問題時,我們選擇的算法通常都需要是多項式級的復雜度,非多項式級的復雜度需要的時間太多,往往會超時,除非是數據規模非常小。

總結

以上是生活随笔為你收集整理的多项式时间算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。