2010-04-14 101 views
21

我們通常對於大多數的複雜性,我們在數學分析遇到一個字:O(n log n)是否有簡寫術語?

  • O(1) == 「常數」
  • O(log n) == 「對數」
  • O(n) == 「線性」
  • O(n^2) ==「二次方」
  • O(n^3) ==「立方」
  • O(2^n) ==「指數「

我們遇到的算法與O(n log n)有一定的規律性的複雜性(想通過某種複雜性占主導地位的所有算法),但據我所知,有沒有我們可以使用英語來指代複雜單個字。這是我的知識上的差距,還是我們在計算複雜性方面的英語話語中的一個真正的差距?

+4

要指出的音節數都應答者,這不是關於優化(我誤導你用我用上面的「速記」),但更多的字正腔圓(即流暢;不像這個括號的題外話)英語。 – jemfinch 2010-04-14 17:11:20

+2

也許使用常用術語「nlogn」,其中幾乎沒有其他含義 - 是流利的普通英語。 – 2010-04-14 17:43:31

+1

@Joe:也許不是普通的英語,但任何討論算法複雜性的人都應該能夠流利地使用它。 – 2010-04-14 17:53:24

回答

24

似乎已經由羅伯特·塞奇威克的創造書算法在C。也稱爲擬線性或對數線性。然而,linearithmic還有一個額外的好處,即不是超負荷的術語(在經濟學和微分方程中使用了擬線性方法,而在經濟學和迴歸分析中使用了對數線性方法)。

+5

從其他答案看,我不認爲這是常見的說法(我從來沒有聽說過),所以爲了清晰起見,我會堅持「登錄」,否則你可能會看起來很怪異。 +1雖然 - 也許及時這將成爲一個普通的術語(奇怪,它還沒有)。 – 2010-04-14 17:13:25

+1

我懷疑該條目上的「原始材料」。 「 」結果1 - 10約1080爲linearithmic。「 google.com/search?q=linearithmic – 2010-04-14 17:14:12

+0

我爲該搜索獲得9600次點擊。 – Nitrodist 2010-04-14 17:19:07

16

「en log en」與「指數」或「對數」相比音節更少。我想大多數人只是這麼說。

+7

此外,「萬維網」(3音節)爲什麼是「雙倍你 - 你雙 - 你」(9音節)? – 2010-04-14 17:08:16

+0

這是真的,但線性比'n'長,人們會這麼說。 – 2010-04-14 17:08:38

+4

@Joe - 也許這就是爲什麼很多人只會說「配音 - 配音 - 配音。「不是我,當然,我認爲這會讓你聽起來像一個笨蛋笨蛋 – tvanfosson 2010-04-14 17:10:39

1

我不認爲有這樣一個術語。

儘管如此,還是有這樣的想法:爲什麼你將指數(11個字符)稱爲O(2^n)(6個字符)的「簡寫」?

個人而言,我很高興地說「這個算法在en en時間運行」。這是大多數人需要聽到的。

+1

現在,說「這個算法運行在兩個到enth時間」與「這個算法運行在指數時間」。在我看來,後者更具慣用性,說起來更容易。 – 2010-04-14 17:52:40

+1

是的,我同意你的意見。我從來沒有聲稱指數不容易說。但我不相信有一種簡單的,慣用的方式來表達線性和對數增長函數的產物。 – 2010-04-14 18:01:29

-1

不,這裏沒有O(nlogn)的等價單詞。你只需要花費額外的時間說了整個事情(注:相同數量的音節爲「指數」)

11

根據Wikipedia可以稱之爲linearithmic對數線性,或擬線性

+0

在這三者中,只有對數線的含義略顯清楚。雖然其他兩個聽起來很酷。 – 2010-04-14 17:11:32

+0

「線性方差大約爲1,080的結果1 - 10」。 http://www.google.com/search?q=linearithmic – 2010-04-14 17:11:33

+1

我更喜歡'對數線性'。還有一種變體[logilinear](http://www.google.com/search?q=logilinear)在野外,但這並未被任何字典正式承認,似乎只能用於對數線性造型。 – 2010-04-14 17:36:54

3

O(2^n) ==「啊,可怕的」

+8

或者「O口」? :) – jemfinch 2010-04-14 17:17:11

相關問題