任何一棵红黑树都对应一棵4阶b树,一棵4阶b树所对应的红黑树可能有多棵,但大同小异。
直接记忆红黑树的插入删除很困难,而4阶b树的插入删除操作对应红黑树的旋转与变色,所以每做一步,写出对应的4阶b树,操作完后,再变换回红黑树,十分好理解。
需要注意以下几个问题:
1.每一个4阶节点,注意它对应的红黑树如图,记得及时变换;
2.每次引起的分裂,注意是分裂完后再插入要插入的目标结点;
3.当删除4阶节点时的中间一个关键字时,记得用左边的节点代替;
4.上层删除,从底层找后继节点,如果是一个3关键字节点,抽取中间的关键字。
以上都是从4阶b树角度变换的注意事项,其他可能有考虑不周的地方,大部分情况只存在唯一选择,所以可以很轻松确定。
如果记忆红黑树的变换方式,不需要这些。
另附一个红黑树的模拟网站,很好,帮助理解。
https://www.cs.usfca.edu/~galles/visualization/RedBlack.html