目录 1 -> 红黑树 红黑树,是一种二叉搜索树,但在每个节点上增加了一个存储位表示节点的颜色,可以是Red或Black。通过对任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。 每个节点不是红色就是黑色。 根节点是黑色的。 如果一个节点是红色的,则它的两个孩子节点是黑色的。 对于每个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点。 每个叶子节点都是黑色的(此处的叶子节点指空节点)。 #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; // 节点的颜色 enum Color { RED, BLACK }; // 红黑树节点的定义 template<class ValueType> struct RBTreeNode { RBTreeNode(const ValueType& data = ValueType(),Color color = RED) : _pLeft(nullptr),...