【发布时间】:2013-10-13 23:42:57
【问题描述】:
众所周知,插入和删除都需要O(log n)。 AVL 树需要 O(log n),因为它需要 O(log n) 插入和 O(log n) 旋转才能平衡。
RB 树需要 O(log n),因为它需要 O(log n) 才能插入,在第三版算法简介中,对于案例 1(颜色翻转),RB-INSERT-FIXUP 需要 O(log n),最多旋转2次。 所以看起来AVL需要2O(log n),但是RB树需要2O(log n)+C。
为什么我们认为 RB 树在插入方面比 AVL 更快?仅仅因为旋转比颜色翻转需要更多时间?旋转和颜色翻转都需要 O(1),为什么旋转比颜色翻转更耗时? 谢谢!:)
【问题讨论】:
标签: algorithm avl-tree red-black-tree