探戈树有没有实际应用?

平衡二叉搜索树给出了O(log(n))保证搜索时间。

探戈树在每个节点损害少量内存的情况下实现了对O(log(log(n))的搜索。虽然理论上log(n)log(log(n))有很大差异,对于大多数实际应用来说,它几乎没有优势。

例如,即使对于像n = 10^20这样的巨大数字(这就像数千千兆字节), log(n) = 64log(log(n)) = 6之间的差异可以忽略不计。 那么Tango树有没有实际用法?


tl; dr:不,请改用splay树。

探戈树不会给你O(log log n)最坏情况查找 - 平均情况是我认为O(log n log log n)。 他们所做的最多运行O(log log n)倍的时间比二进制树的运行速度慢得多,而oracle使用循环来优化访问模式。

Splay树可能比上述理论魔术树慢O(1)倍 - 这是动态最优性猜想。 播种树比探戈树简单得多,并且具有较低的恒定因素启动。 我无法想象探戈树保证有用的实际应用。

链接地址: http://www.djcxy.com/p/24681.html

上一篇: Is there any practical application of Tango Trees?

下一篇: Define Python class from C