“据说”(维基百科)“红黑树的性能比 AA 树更一致,但 AA 树往往更平坦,这导致搜索时间稍快一些。”因此,R-B 树的第一个优点是它们的性能更容易预测,这使它们成为库(例如从中派生的原始 STL 和 C++ 标准库)的良好数据结构。
其次,如果您查看该声明的来源,您将看到两个表格(第 71 页和第 72 页),它们表明 AA 树需要更多比较才能进行删除,并且插入和删除需要更多旋转,以达到树木更扁平的目的。所以这里有一个权衡:当比较成本低但更新频繁时,红黑树可能会优于 AA 树;否则,当比较成本很高但查找比更新更频繁时,AA 树可能会获胜。
有趣的是,这种权衡与红黑树和AVL树之间的权衡非常相似。 AVL 树和 AA 树的比较会更有趣。