什么是红黑树

红黑树的简介

红黑树(Red Black Tree)是一种自平衡二叉查找树,在计算机科学中用作一种数据结构,其典型的用途是实现关联数组。红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被Leo J. Guibas和Robert Sedgewick修改为如今的“红黑树”。


红黑树的性质

红黑树是一种特化的AVL树(平衡二叉树),通过特定操作在插入和删除时保持二叉查找树的平衡,从而获得较高的查找性能。红黑树的每个节点都带有颜色属性,颜色为红色或黑色。红黑树需要满足以下性质:

1.每个节点要么是红色,要么是黑色。
2.根节点是黑色。
3.每个红色节点的两个子节点都是黑色(即不能有两个连续的红色节点)。
4.从任一节点到其每个叶节点的所有路径都包含相同数目的黑色节点。

image


这些性质确保了红黑树的关键性质:从根到叶子的最长可能路径不多于最短可能路径的两倍长。因此,红黑树在高度上的理论上限允许它在最坏情况下都是高效的,而不同于普通的二叉查找树。
由于红黑树是一种特化的二叉查找树,因此红黑树上的只读操作与普通二叉查找树相同。在对红黑树进行插入和删除等操作时,如果修改了树的结构可能会违背红黑树的性质,此时可以通过对树进行旋转(如左旋和右旋操作)和修改某些节点的颜色及指针结构来保持红黑树的性质。

posted @ 2024-05-02 23:54  铃是铃铛的铃  阅读(56)  评论(0)    收藏  举报