数据结构 - 红黑树 - 面试常问知识点
数据结构是面试中必定考查的知识点,面试者需要掌握几种经典的数据结构:线性表(数组、链表)、栈与队列、树(二叉树、二叉查找树、平衡二叉树、红黑树)、图。
本文主要介绍树中的常见的红黑树数据结构。包括
- 简介
- 应用
- 左旋和右旋
简介
R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。
红黑树的性质:
- (1). 每个节点或者是黑色,或者是红色。
- (2). 根节点是黑色。
- (3). 每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]
- (4). 如果一个节点是红色的,则它的子节点必须是黑色的。
- (5). 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。
- (6). 一棵含有n个节点的红黑树的高度至多为 2lo