0716-常数时间,线性时间,多项式时间
常數(shù)時間,意思就是無論n是什么值運算所花時間都一樣。
線性時間則是說多大n就花多少時間。
多項式時間則意味著隨著n增大,n每增加1所花的時間增長越來越多。對于n^2-3這樣一個多項式時間來說,n=2的時候可能只要花1的時間,甚至低于線性時間,但n=4的時候可能就要花13的時間了,可以想象再大一些這個數(shù)值會變得巨大。但是它又不及指數(shù)時間增長快(m^n),且m^n不能寫成多項式形式,所以它又和多項式時間有區(qū)別。
而且,這個增長變速的特性是不受參數(shù)限制的。也就是說,無論你把m*n^2的m這個常量改成多么微小的一個值,總有一個n讓這個多項式的值大于n,也就是說到這一刻多項式時間的算法耗時高于了線性時間的算法,之后耗時差距一定會越來越大。這一特性是多項式本身的性質決定的。類似,指數(shù)級時間也是如此,無論你將n的一個多項式中的所有常量設置到多大,總有一個n的指數(shù)值大于多項式值。所以我們說指數(shù)時間大于多項式時間,我們說多項式時間大于線性時間,我們還說線性時間大于常數(shù)時間,一定要注意這些大于并不是對于所有n的所有情況成立的,只是在說隨著n增加前者一定超過后者。
作者:沈萬馬
鏈接:https://www.zhihu.com/question/24653072/answer/28547757
來源:知乎
著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。
?
總結
以上是生活随笔為你收集整理的0716-常数时间,线性时间,多项式时间的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础教程5-获取用户输入
- 下一篇: PHP Web项目总结