【常见集合篇10】HashMap-红黑树

16 阅读1分钟

红黑树

红黑树(red black tree):也是一种自平衡的二叉搜索树,之前也叫做平衡二叉B树。

image.png

红黑树5个性质

  • 节点要么是红色,要么是黑色
  • 根节点是黑色
  • 叶子节点都是黑色空节点
  • 红黑树中红色节点的子节点都是黑色
  • 从任一节点到叶子节点的所有路径都包含相同数目的黑色节点

在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有性质。(保证平衡[时间复杂度就比较稳定])

红黑树时间复杂度分析

  • 查找:
    • 红黑树也是一种BST树,查找操作的时间复杂度为O(logn)
  • 添加:
    • 添加先从根节点开始找到元素添加的位置,时间复杂度O(logn),添加完成后涉及复杂度为O(1)的旋转调整操作,整体复杂度为O(logn)
  • 删除:
    • 首先从根节点开始查找要删除的元素的位置, 时间复杂度为O(logn),删除完成后涉及复杂度为O(1)的旋转调整操作,整体复杂度为O(logn)