红黑树的插入算法实现-数据分析方法梅长林
二、左旋的一个实例不做过多介绍,看下副图,一目了然。
LEFT-ROTATE(T, x)的操作过程(第3张图):
---提醒,看下文之前,请首先务必明确,区别以下俩种操作:
-
红黑树插入、删除结点的操作。在插入过程中,我们有红黑树插入结点操作:RB-INSERT(T, z)。
-
红黑树已经插入、删除结点之后,为了保持红黑树原有的红黑性质而做的恢复与保持红黑性质的操作。为了恢复和保持原有红黑性质,所做的工作:RB-INSERT-FIXUP(T, z)。
ok,请继续。
三、红黑树的插入算法实现RB-INSERT(T, z) //注意我给的注释...
-
y ← nil[T] // y始终指向x的父结点。
-
x ← root[T] // x指向当前树的根结点,
-
while x ≠ nil[T]
更多详细的红黑树算法实现可以参考以下资源:红黑树插入删除伪算法,红黑树算法实现,以及红黑树基本操作算法。
是不是觉得有点复杂?不用担心!看看这些资源,你会发现红黑树算法其实没有那么难:C#红黑树算法实现实现插入删除旋转算法,红黑树算法的实现,和红黑树算法C实现。学会了这些,你也可以成为算法大师!
继续探索吧,红黑树的世界充满了挑战与乐趣!
下载地址
用户评论