【发布时间】:2018-01-06 21:17:53
【问题描述】:
我已经学会了 Treap 和 Splay tree 并且使用它们解决了一些问题。
理论上,它们的复杂度平均为 O(log n),但在最坏的情况下 Treap 的复杂度为 O(n) 而 Splay 树的是摊销 O(log n)。
Treap 中最坏的情况发生在哪种情况下(因为它的优先级是随机选择的),并且 Treap 真的比 Splay 慢 树?我已经使用 Splay tree 和 Treap 解决了 SPOJ 上的一些任务,使用 Treap 的解决方案要快一些(大约 0.2 s) 比使用 Splay 树 的。那么哪一个实际上更快,我应该主要使用哪一个以及何时使用?
【问题讨论】:
标签: algorithm computer-science splay-tree treap