Java的TreeMap添加节点有问题啊?
java的TreeMap实现是一科红黑二叉树。在添加节点的时候,先根据大小将新节点添加到叶子节点位置,再调整树,使其满足红黑树特点。
但是今天看java代码,发现在添加完节点进行调整时,会出现叶子节点为红色的情况?求大神帮忙看看,不理解啊!
添加玩节点后的情况如下(红R,黑B,后面数字为value):
B3
/ \
R2 R4
/
R1
按找javaTreeMao类fixAfterInsertion方法进行调整后结构为:
B3
/ \
B2 B4
/
R1
这不就错了么?麻烦大神看看了!