C++中的红黑树学习

发布时间 2023-11-28 17:32:58作者: 新西兰程序员

C++中有一种数据结构-红黑树, 在C++的STL中有一种数据结构map,它就是基于红黑树来实现的

红黑树,是一种二叉搜索树,但是它的每个节点都有颜色,并且只有红和黑两种颜色。所以每个节点上都有一个存储位来表示节点的颜色,可以是Red和Black.

红黑树有一个很大的特点:  它能够确保没有任何一条路会比其他路径长出2倍,也就是说最多的情况呀,也就是一条路径是另一条路径的2倍,不会比2倍还多了

那么,这个是通过什么来保证的呢,这个是通过红黑树的特性来保证的,我们来看看红黑树的一些特性:

1. 每个节点不是红色就是黑色

2. 根节点是黑色

3. 每个叶子节点也是黑色的 (这里的叶子节点指的是空节点)