• 红黑树的简述


    红黑树的定义:

    红黑树是一种特化的平衡二叉树(AVL),在进行插入与删除时都是通过特定操作来保持二叉查找树的平衡,从而获得较高的查找性能。

    红黑树是一种平衡二叉查找树的变体,它的左右子树高差有可能大于 1,所以红黑树不是严格意义上的平衡二叉树(AVL),但 对之进行平衡的代价较低, 其平均统计性能要强于平衡二叉树(AVL) 。

    由于每一颗红黑树都是一颗二叉排序树,因此,在对红黑树进行查找时,可以采用运用于普通二叉排序树上的查找算法,在查找过程中不需要颜色信息。

    特性:

    1.保留了二叉树的强制要求特征((1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的结点。)

    2.根节点是黑色。

    3.所有叶子都是黑色。(叶子是NUIL节点)

    4.节点是红色或黑色。

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

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

    因为红黑树是一种特化的二叉查找树,所以红黑树上的只读操行与普通二叉查找树相同。

    树的旋转:

    当我们在对红黑树进行插入和删除等操作时,对树做了修改,那么可能会违背红黑树的性质

    为了保持红黑树的性质,我们可以对相关节点做一系列的调整,通过对树进行旋转(例如左旋和右旋操作),即修改树中某些结点的颜色及指针结构,以达到对红黑树进行插入、删除结点等操作时,红黑树依然能保持它特有的性质(五点性质)。
  • 相关阅读:
    [NOI2003][bzoj1507] 文本编辑器 editor [splay]
    GDKOI 游记
    [填坑完毕] 寒假作业计划
    省选算法学习-数据结构-splay
    NOIP2017游记
    真·总结
    赛前
    十一黄(xun)金(lian)周感想
    9.17 模拟赛
    9.14 模拟赛
  • 原文地址:https://www.cnblogs.com/4AMLJW/p/redTree202003301657.html
Copyright © 2020-2023  润新知