关于算法:Tango树有什么实际应用吗?

Is there any practical application of Tango Trees?

平衡二进制搜索树提供了一个O(log(n))保证的搜索时间。

探戈树实现了对O(log(log(n))的搜索,同时牺牲了每个节点的少量内存。虽然我从理论上理解,log(n)log(log(n))有很大的不同,但对于大多数实际应用来说,它几乎没有优势。

例如,即使对于像n = 10^20这样的巨大数字(比如几千千兆字节),log(n) = 64log(log(n)) = 6之间的差异也可以忽略不计。探戈树有什么实际用途吗?


不,用八字树代替。

探戈树不给你O(log log n)最坏情况查找——平均情况是我想O(log n log log n)。他们所做的最多是运行O(log log n)倍,比使用Oracle执行旋转以优化访问模式的二进制树慢。

八字树的运行速度可能比上述理论神奇树慢0(1)倍——这是动态最优性猜想。八字树比探戈树简单得多,而且启动时的常数系数也更低。我无法想象一个实际的应用程序,探戈树保证将是有用的。