3 回答

TA貢獻1780條經(jīng)驗 獲得超1個贊
“這些常量有意義還是相關(guān)?”之間有區(qū)別。和“大O表示法是否關(guān)心它們?” 第二個問題的答案為“否”,而第一個問題的答案為“絕對!”。
Big-O表示法并不關(guān)心常量,因為big-O表示法僅描述函數(shù)的長期增長率,而不是函數(shù)的絕對值。將一個函數(shù)乘以一個常數(shù)只會對其常數(shù)的增長率產(chǎn)生影響,因此線性函數(shù)仍會線性增長,對數(shù)函數(shù)仍將對數(shù)增長,指數(shù)函數(shù)仍呈指數(shù)增長,等等。由于這些類別不受常數(shù)的影響,因此不會無論我們刪除常數(shù)。
也就是說,這些常量絕對重要!的函數(shù),其運行時間為10 100 n將被方式比其運行時只是N A功能慢。運行時間為n 2/2的函數(shù)將比運行時間僅為n 2的函數(shù)快。前兩個函數(shù)均為O(n)且后兩個函數(shù)均為O(n 2)的事實并沒有改變它們不在相同時間段內(nèi)運行的事實,因為這不是big-O表示法專為。O標(biāo)記法對于確定一個功能在長期內(nèi)是否會大于另一個功能非常有用。盡管10 100對于任何n> 0,n都是一個巨大的值,該函數(shù)為O(n),因此對于足夠大的n最終,它將擊敗運行時間為n 2/2的函數(shù),因為該函數(shù)為O(n 2)。
綜上所述-由于big-O僅談?wù)撛鲩L率的相對類別,因此它忽略了恒定因素。但是,這些常數(shù)絕對重要。它們只是與漸進分析無關(guān)。
希望這可以幫助!
添加回答
舉報