红黑树 - K插入和K缺失所需的最大旋转数?

时间:2014-03-25 11:26:02

标签: algorithm data-structures binary-search-tree red-black-tree

红黑树中K插入和K删除后所需的最大旋转次数是多少?

我正在考虑它的3K,因为在最坏的情况下插入我们为每次插入执行2次旋转,每次删除执行1次旋转。 我在这里走在正确的轨道上吗?

1 个答案:

答案 0 :(得分:5)

与AVL树相反,其中删除的旋转可以传播到根(尽管插入时最多有一个(双)旋转),RB树需要一个常量(插入时最多2个,删除时最多3个) )转数。在RB树中删除期间可以采用对数的对数是可以传播到根的重新着色,这意味着插入和删除对于AVL和RB树都具有相同的渐近性。

(如果有兴趣,你可以找到对这些事情的分析in this script。)

关于你的问题,最多3K是正确的(但显然旋转与链接脚本的计算方式略有不同)。