为什么Ackermann函数与用于不相交集的联合查找算法的摊余复杂性有关?

| 谁能给我一个直观的解释,为什么Ackermann函数http://en.wikipedia.org/wiki/Ackermann_function为什么与用于不相交集的联合查找算法的摊销复杂度有关http://en.wikipedia.org/ wiki / Disjoint-set_data_structure? Tarjan的数据结构书中的分析不是很直观。 我也在“算法导论”中进行了查找,但它似乎也过于严格和不直观。 谢谢你的帮助!     
已邀请:
        适用于不相交的森林 来自维基百科   (关于查找和并集)这两个   技术互相补充;   一起应用,摊销时间   每个操作只有O(α(n)),其中   α(n)是函数的反函数   f(n)= A(n,n),而A是极   快速增长的阿克曼功能。   因为α(n)是这个的倒数   函数,所有的α(n)小于5   n的实际值从而,   每台的摊销运行时间   操作实际上很小   不变。 那为什么是阿克曼呢? 来自Kruskal算法   函数lg * n      请注意,lg * n的增长非常缓慢   功能,比lg n慢得多。在   事实比lg lg n慢   lg n的有限组成。它是   函数f(n)的逆= 2   ^ 2 ^ 2 ^…^ 2,n次。对于n> = 5,f(n)   大于中的原子数   宇宙。因此,出于所有意图   和目的,f(n)的逆   n的任何实际值都是常数。   从工程师的角度来看,   Kruskal的算法在O(e)中运行。   当然要注意的是   理论家的观点,真实的   O(e)的结果仍然是   重大突破。整体   图片不完整,因为   实际最佳结果表明lg * n可以   被A(p,n)的倒数代替   其中A是阿克曼函数,   爆炸性增长的功能。的   阿克曼函数的反函数是   与lg * n有关,并且更好   结果,但证明是均匀的   更难。     

要回复问题请先登录注册