3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
Big-O對(duì)于小o ≤
來說就是如此<
。Big-O是包含上限,而little-o是嚴(yán)格的上限。
例如,函數(shù)f(n) = 3n
是:
在
O(n2)
,o(n2)
和O(n)
不是
O(lg n)
,o(lg n)
或o(n)
類似地,數(shù)字1
是:
≤ 2
,< 2
和≤ 1
不是
≤ 0
,< 0
或< 1
這是一張表,顯示了一般的想法:
(注意:該表是一個(gè)很好的指南,但它的限制定義應(yīng)該是上限而不是正常限制。例如,3 + (n mod 2)
永遠(yuǎn)在3到4之間振蕩。O(1)
盡管沒有正常的限制,它仍然存在,因?yàn)樗匀挥衋 lim sup
:4.)
我建議記住Big-O符號(hào)如何轉(zhuǎn)換為漸近比較。比較更容易記住,但不太靈活,因?yàn)槟悴荒苷fn O(1) = P之類的東西。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
我發(fā)現(xiàn)當(dāng)我無法在概念上掌握某些東西時(shí),思考為什么要使用X有助于理解X.(不是說你沒有嘗試過,我只是在設(shè)置舞臺(tái)。)
[你知道的東西]分類算法的常用方法是運(yùn)行時(shí),通過引用算法的大復(fù)雜性,你可以很好地估計(jì)哪一個(gè)是“更好” - 無論哪個(gè)具有“最小”功能在O!即使在現(xiàn)實(shí)世界中,O(N)比O(N2)“更好”,除非像超大質(zhì)量常數(shù)之類的傻事。[/你知道的東西]
假設(shè)有一些在O(N)中運(yùn)行的算法。很好,對(duì)吧?但是,讓我們說你(你很聰明的人,你)想出一個(gè)在O(N / loglogloglogN)中運(yùn)行的算法。好極了!它更快!但是當(dāng)你撰寫論文時(shí),你會(huì)一遍又一遍地寫下傻傻的寫作。所以你寫了一次,然后你可以說“在本文中,我已經(jīng)證明了算法X,以前可以在時(shí)間O(N)中計(jì)算,實(shí)際上是在o(n)中可計(jì)算的。”
因此,每個(gè)人都知道你的算法更快 - 有多少不清楚,但他們知道它更快。理論上。:)
添加回答
舉報(bào)