红黑树简述

面试时候被问到了,

二叉查找树: Binary Search Tree(BST)

1.左子树上所有结点的值均小于或等于它的根结点的值。

2.右子树上所有结点的值均大于或等于它的根结点的值。

3.左、右子树也分别为二叉查找树。

比如我想找10 ,右边比9大,到13 左边比13小 到11 左边比11小 到10

扫描二维码关注公众号,回复: 2213135 查看本文章

二分查找的思想

缺陷:

初始树:

插入结点

失去了平衡,查找能力变成了线性。

红黑树:

插入多个节点后也能自平衡的二叉查找树。

应用:JDK集合类TreeMap和TreeSet底层就是红黑树实现,Java8中HashMap也用到了红黑树。 

1.节点是红色或黑色。

2.根节点是黑色。

3.每个叶子节点都是黑色的空节点(NIL节点)。

4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)

5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

下图中这棵树,就是一颗典型的红黑树:

左旋转、右旋转

猜你喜欢

转载自www.cnblogs.com/eret9616/p/9326967.html
今日推荐