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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

程序运行的时间的估算

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

?

?1?大部分程序的大部分指令之執行一次,或者最多幾次。如果一個程序的所有指令都具有這樣的性質,我們說這個程序的執行時間是常數。
?logN??如果一個程序的運行時間是對數級的,則隨著N的增大程序會漸漸慢下來,如果一個程序將一個大的問題分解成一系列更小的問題,每一步都將問題的規 模縮減成幾分之一?,一般就會出現這樣的運行時間函數。在我們所關心的范圍內,可以認為運行時間小于一個大的常數。對數的基數會影響這個常數,但改變不會太 大:當N=1000時,如果基數是10,logN等于3;如果基數是2,logN約等于10.當N=1 00 000,logN只是前值的兩倍。當N時原來的兩倍,logN只增長了一個常數因子:僅當從N增長到N平方時,logN才會增長到原來的兩倍。
?N?如果程序的運行時間的線性的,很可能是這樣的情況:對每個輸入的元素都做了少量的處理。當N=1 000 000時,運行時間大概也就是這個數值;當N增長到原來的兩倍時,運行時間大概也增長到原來的兩倍。如果一個算法必須處理N個輸入(或者產生N個輸出), 那么這種情況是最優的。
?NlogN?如果某個算法將問題分解成更小的子問題,獨立地解決各個子問題,最后將結果綜合起來?,運行時間一般就是NlogN。我們找不到一個更好的形容, 就暫且將這樣的算法運行時間叫做NlogN。當N=1 000 000時,NlogN大約是20 000 000。當N增長到原來的兩倍,運行時間超過原來的兩倍,但超過不是太多。
?
N平方
?如果一個算法的運行時間是二次的(quadratic),那么它一般只能用于一些規模較小的問題。這樣的運行時間通常存在于需要處理每一對輸入 數據項的算法(在程序中很可能表現為一個嵌套循環)中,當N=1000時,運行時間是1 000 000;如果N增長到原來的兩倍,則運行時間將增長到原來的四倍。
?N三次方?類似的,如果一個算法需要處理輸入數據想的三元組(很可能表現為三重嵌套循環),其運行時間一般就是三次的,只能用于一些規模較小的問題。當N=100時,運行時間就是1 000 000;如果N增長到原來的兩倍,運行時間將會增長到原來的八倍。
?2的N次方?如果一個算法的運行時間是指數級的(exponential),一般它很難在實踐中使用,即使這樣的算法通常是對問題的直接求解。當N=20時,運行時間是1 000 000;如果增長到原來的兩倍時,運行時間將是原時間的平方!

總結

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

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