红黑树
红黑树(red black tree):也是一种自平衡的二叉搜索树,之前也叫做平衡二叉B树。
红黑树5个性质
- 节点要么是红色,要么是黑色
- 根节点是黑色
- 叶子节点都是黑色空节点
- 红黑树中红色节点的子节点都是黑色
- 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点
在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有性质。(保证平衡[时间复杂度就比较稳定])
红黑树时间复杂度分析
- 查找:
- 红黑树也是一种BST树,查找操作的时间复杂度为O(logn)
- 添加:
- 添加先从根节点开始找到元素添加的位置,时间复杂度O(logn),添加完成后涉及复杂度为O(1)的旋转调整操作,整体复杂度为O(logn)
- 删除:
- 首先从根节点开始查找要删除的元素的位置, 时间复杂度为O(logn),删除完成后涉及复杂度为O(1)的旋转调整操作,整体复杂度为O(logn)