一、 二叉树性质
- 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
- 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
- 任意节点的左、右子树也分别为二叉查找树。
- 没有键值相等的节点(no duplicate nodes)。
二、红黑树性质
- 每个结点要么是红的要么是黑的。
- 根结点是黑的。
- 每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的。
- 如果一个结点是红的,那么它的两个儿子都是黑的。
- 对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。
三、优秀博文共享
- 作者从二叉树原理,由浅入深,讲解红黑树,结合红黑树的性质,伪码分析,左旋右旋,插入,删除等操作做了详细的介绍。教你初步了解红黑树
通过动态图,更加清晰的了解左旋右旋操作,同时作者通过java代码详细讲解了insert
,remove
操作【数据结构和算法05】 红-黑树(看完包懂~)