Algorithm 在O(nlog*n)和O(n)之间?

Algorithm 在O(nlog*n)和O(n)之间?,algorithm,time-complexity,big-o,complexity-theory,asymptotic-complexity,Algorithm,Time Complexity,Big O,Complexity Theory,Asymptotic Complexity,O(n logstar(n))和O(n)之间是否存在真正的复杂性? 我知道O(nsqrt(logstar(n)))和其他类似的函数介于两者之间,但我指的是一些原创的东西,它不是由logstar(n)构成的。是的,有。最著名的例子是α(n),它的增长速度比log*n慢得多。它出现在不相交的集合森林数据结构中,其中每个操作的摊销成本为O(α(n)) 您可以将log*n视为需要将log应用于n以将值降低到某个固定常数(例如,2)的次数。然后可以将其推广到log**n,这是将log*应用到n以将值降至2

O(n logstar(n))和O(n)之间是否存在真正的复杂性?
我知道O(nsqrt(logstar(n)))和其他类似的函数介于两者之间,但我指的是一些原创的东西,它不是由logstar(n)构成的。

是的,有。最著名的例子是α(n),它的增长速度比log*n慢得多。它出现在不相交的集合森林数据结构中,其中每个操作的摊销成本为O(α(n))

您可以将log*n视为需要将log应用于n以将值降低到某个固定常数(例如,2)的次数。然后可以将其推广到log**n,这是将log*应用到n以将值降至2所需的次数。然后可以用类似的方式定义log***n、log***n、log******n等。α(n)的值通常表示需要输入log**…*n以将值降到2的恒星数,因此它的增长速度比重对数函数慢得多

直观地说,您可以将logn视为指数化(重复乘法)的逆,logn*n视为指数化(重复指数化)的逆,logn**n视为指数化(重复四分之一)的逆,等等。Ackermann函数有效地将指数化的n阶推广应用于数n,所以它的倒数对应于达到它所需的指数化程度。这导致了难以置信的缓慢增长的功能


我所见过的在严肃环境中使用的增长最慢的函数是α*(n),你需要将Ackermann反函数应用于一个数n,使其下降到某个固定常数的次数。几乎不可想象的是,为了得到接近(比如)10的数据,你必须在这个函数中输入多大的数据。如果你好奇,.

1