GNU实现的std::map的数据结构模型是红黑树。红黑树是平衡二叉树的一类变种。可以保证在最坏情况下花费O(logN)时间。
其着色性质有如下特性:
1,根节点是黑色的
2,每个节点要么是红色,要么是黑色
3,如果一个节点是红色,其子节点必须是黑色。
4,从一个节点到一个NULL指针的每一条路径必须包含相同数目的黑色节点
由上面的几条特性可以推论出,查找是一个对数操作。
我写了一个简单的例子
#include <string&g
GNU实现的std::map的数据结构模型是红黑树。红黑树是平衡二叉树的一类变种。可以保证在最坏情况下花费O(logN)时间。
其着色性质有如下特性:
1,根节点是黑色的
2,每个节点要么是红色,要么是黑色
3,如果一个节点是红色,其子节点必须是黑色。
4,从一个节点到一个NULL指针的每一条路径必须包含相同数目的黑色节点
由上面的几条特性可以推论出,查找是一个对数操作。
我写了一个简单的例子
#include <string&g