Big o 什么是;日志*”;什么意思?

Big o 什么是;日志*”;什么意思?,big-o,iterated-logarithm,Big O,Iterated Logarithm,在我读的一本关于数据结构的书中,我遇到了术语O(log*N)。log*是什么意思?我不能,WolframAlpha。这是重对数。有关许多不同时间复杂性的描述,以及有关重对数本身的更多详细信息,请参见 重对数是在结果变为一或更少之前必须应用对数的次数。称为重对数。这是一个增长非常缓慢的函数。例如: lg*(2)=1 lg*(4)=2 lg*(16)=3 lg*(65536)=4 lg*(2^65536)=5/注意,(2^65536)远大于可观测宇宙中的原子数/ 或者在大O的情况下,它几乎可以被

在我读的一本关于数据结构的书中,我遇到了术语
O(log*N)
log*
是什么意思?我不能,WolframAlpha。

这是重对数。有关许多不同时间复杂性的描述,以及有关重对数本身的更多详细信息,请参见

重对数是在结果变为一或更少之前必须应用对数的次数。

称为重对数。这是一个增长非常缓慢的函数。例如:

  • lg*(2)=1
  • lg*(4)=2
  • lg*(16)=3
  • lg*(65536)=4
  • lg*(2^65536)=5
    /注意,(2^65536)远大于可观测宇宙中的原子数/
或者在大O的情况下,它几乎可以被认为是常数时间。

log*(n)-“对数星n”被称为“重对数”

简单地说,你可以假设log*(n)=log(log(log(……(log*(n)))

log*(n)非常强大

例如:

1) Log*(n)=5,其中n=宇宙中的原子数

2) 使用3种颜色的树着色可以在log*(n)中完成,而使用2种颜色的树着色就足够了,但复杂性将是O(n)

3) 求一组已知欧氏最小生成树的点的Delaunay三角剖分:随机O(nlog*n)时间


我希望您可以在WolframAlpha上可视化Log*(n)像这样Log*是您需要应用Log函数直到达到小于或等于1的值的次数。例如:log*(16)=3,因为log2(log2(log2(16)))=1


出于实际目的,您可以将其视为常数,因为此函数增长非常缓慢。

更简洁地说,重对数计算您必须使用对数将数字减为1的次数。因此,逆运算将是重幂运算,这是序列中的下一个:加法、乘法(=迭代加法)、求幂(=迭代乘法),…“我在谷歌上找不到它”。在谷歌上搜索“log star”效果很好。请尝试“x从0到6的迭代对数”或“IteratedLog(4)”的WolframAlphable副本