是否有O(n log n)的简写术语?

jem*_*nch 22 algorithm complexity-theory big-o

对于我们在算法分析中遇到的大多数复杂性,我们通常只有一个单词:

  • O(1) =="常数"
  • O(log n) =="对数"
  • O(n) =="线性"
  • O(n^2) =="二次"
  • O(n^3) =="立方"
  • O(2^n) =="指数"

我们遇到O(n log n)具有一定规律性的复杂算法(想想所有算法都以排序复杂性为主)但据我所知,我们在英语中没有一个单词能用来指代那种复杂性.这是我的知识差距,还是我们关于计算复杂性的英语话语中的真正差距?

Joh*_*eek 26

似乎是由Robert Sedgewick在" 算法在C "一书中创造的.也称为拟线性或对数线性.然而,线性方法还有一个额外的好处,即不是一个过载的术语(拟线性用于经济学和微分方程,而对数线性用于经济学和回归分析).

  • 从其他答案的外观来看,我不认为这是常见的说法(我从来没有听说过),所以为了清楚起见我会坚持使用"inlogin"或者你可能会看到一些奇怪的外观.尽管如此 - 也许及时这将成为一个普通的术语(很奇怪,它还没有). (5认同)
  • "线性"是由Robert Sedgewick(Addison-Wesley 1990,ISBN 0-201-51425-7)在*Algorithms In C*中创造的"线性"和"对数"的口号. (4认同)
  • "Linearithmic"出现在每本Google图书搜索结果的32本书中,并且还有额外的奖励(超过拟线性和对数线性)不用于其他数学目的.如果有人听说过,这个问题可能就不存在了. (3认同)

Joe*_*erg 16

"en log en"具有比"指数"或"对数"更少的音节.我想大多数人都这么说.

  • 另外,为什么"双倍你双倍 - 你双倍"(9个音节)速记"万维网"(3个音节)??? (7认同)
  • @Joe - 也许这就是为什么许多人只会说"dub-dub-dub".当然不是我,我认为这听起来像是一个瞎傻的白痴. (4认同)
  • 万维网?那就是*所以*不是Web 2.0! (2认同)

Iai*_*der 11

根据维基百科,你可以把它叫做linearithmic,对数线性拟线性.