Java数据结构和算法(八)--红黑树与2-3树

红黑树规则:

  1、根节点与叶节点都是黑色节点

  2、每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点

  3、从根节点到所有叶子节点上的黑色节点数量是相同的

一般对红黑树的讲述都是先给出这样的定义,这样想对不太容易理解的,而在算法4一书中,直接跳过这些规则,而讲述了红黑树与2-3树的等价性

如果我们先了解2-3树,理解了红黑树与2-3树之间的关系,回过头就会发现红黑树不难

2-3树:

2-3树满足二分搜索树的基本性质,但是不是二叉树

2-3树节点可以存放一个元素或两个元素,每个节点有两个(2节点)或三个子节点(3节点),这就是2-3树

2-3树是一个绝对平衡的树

2-3树的绝对平衡性:

1、2-3树新插入的节点一定不能插到空节点的位置

2、如果一个新节点插入到2节点,就会形成3节点

3、如果一个心机诶单插入到3节点,临时形成4节点,然后进行变形

如果这个节点是根节点,这样就处理完了,如果插入的节点是叶子节点

1).父节点为2-节点

2).父节点为3-节点

 

猜你喜欢

转载自www.cnblogs.com/huigelaile/p/11106466.html