红黑树的插入、创建和删除
文章目录 1.红黑树介绍 2.红黑树的旋转 3.红黑树的插入和创建 4.红黑树的删除 5.参考 1.红黑树介绍 二叉搜索树在最好情况下的时间复杂度是 O ( l o g n ) O(log n) O ( l o g n ) ,但是当插入元素是有序的时候,二叉搜索树就变成了一个链表,在这种情况下,时间复杂度为 O ( n ) O(n) O ( n ) 。 红黑树就是针对这一情形进行改进。红黑树本质上是一种二叉搜索树,但它在二叉搜索树的基础上额外添加了一个标记(颜色),同时具有一定的规则,这些规则使得红黑树保证一种平衡,插入、删除、查找的最坏时间复杂度都为 O ( l o g n ) O(logn) O ( l o g n ) 。红黑树的统计性能要好于平衡二叉树。 红黑树的在原有的二叉搜索树上增加了如下几个要求: 1)每个结点要么是红色,要么是黑色 2)根节点永远是黑色的 3)所有叶子结点都是黑色的(红黑树中的叶子结点都是空结点(NIL)。) 4)每个红色结点的两个子结点一定都是黑色的(说明从根到结点的路径上不会有两个连续的红色结点,但黑色结点可以是连续的) 5)从任一结点到其子树中每个叶子结点的路径都包含相同数量的黑色结点。(是成为红黑树最主要的条件,后序的插入、删除操作都是为了遵守这个规定) 红黑树并不是标准的平衡二叉树,它是以上述要求作为一种平衡方法