用大O表示形式的代字号是什么意思?


14

我正在阅读一篇论文,它在时间复杂度描述中说时间复杂度是。Ø〜(22ñ)

我已经搜索了互联网和Wikipedia,但是找不到波浪号(big-O / Landau)表示的代字号。在论文本身中,我也没有发现任何线索。什么是什么意思?Ø〜(⋅)


1
“我已经搜索过互联网”如何?!?:-)通常,对于这样的问题,我的第一反应是Google会立即告诉您答案。但是对于这个,我不知道我会使用什么搜索词!
— David Richerby

我搜索了“ landau符号代字号”,但没有得出结论。我想Google需要一些AI,该AI知道波浪号的外观并在渲染的TeX图片中进行搜索:p
— Johannes Schaub-litb

您有时会看到的另一个是大哦星,即。它通常与例如精确指数时间算法一起使用,并且该符号可抑制输入大小多项式限制的因子。Ø∗
— Juho

Answers:


19

这是big-O的一种变体,“忽略”对数因子:

F(ñ)∈Ø〜(H(ñ))

等效于:

∃ķ:F(ñ)∈Ø(H(ñ)日志ķ⁡(H(ñ)))

从维基百科:

本质上,它是大Ø表示法,忽略了对数因子,因为其他一些超对数函数的增长率影响表明大型输入参数的增长率爆炸,这比预测不良运行时性能更重要。对数增长因子带来的更精细的影响。这个表示法通常用来消除被表示为得太紧手头有界的事项(因为生长速率中的“挑剔” 日志ķ⁡ñ总是Ø(ñε)为任何常数ķ和任何ε>0)。


我说得对不对的报告,认为和〜Ô(2 2 ñ)有什么不同?这令人困惑,因为它们似乎可以互换使用。Ø(22ñ+Ø(ñ))Ø〜(22ñ)
— 约翰内斯·绍布

1
@ JohannesSchaub-litb是的,有些函数每k增长大于,但增长小于n,因此包含在第一个函数中,但不包含在第二个函数中。无论如何:该表示法的目的仅是显示渐近复杂度的重要部分,通常认为o (n )不重要。日志ķ⁡ñķñØ(ñ)
— Bakuriu

2
作为推论,是一样的Ô (2 2 Ñ p ø 升ý(Ñ ))。@ JohannesSchaub-litb O (2 2 n + o (n ))与O (2 2 n)相同。如果您实际上是说O (2 2 n + o (n )),则此Ø〜(22ñ)Ø(22ñpØ升ÿ(ñ))Ø(22ñ+Ø(ñ))Ø(22ñ)Ø(22ñ+Ø(ñ))包括 ,也稍快生长的一些功能。人们经常用它代替〜Ø(2 2 ñ),因为它是没有错的,〜Ô是一个不太为人所知的符号,并且精度损失往往并不重要。Ø〜(22ñ)Ø〜(22ñ)Ø〜
— EmilJeřábek'16

啊,我现在明白了,谢谢。这很有道理
— Johannes Schaub-litb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.