在维基百科:http://en.wikipedia.org/wiki/Red-black_tree#Applications_and_related_data_structures
红黑树是一种类型 自平衡二叉搜索树,a 计算中使用的数据结构 科学,通常用于实施 关联数组。
任何人都知道使用redblack树实现语言的关联数组吗?
答案 0 :(得分:3)
java.util.TreeMap是Java中红黑树的实现。
答案 1 :(得分:2)
C ++ std::map通常被实现为红黑树。这是基本的关联数组。另一个(新)是std :: unordered_map,实际上是一个哈希映射。
答案 2 :(得分:1)
我不知道它是否是红黑树,但Haskell's Data.Map是一个平衡的二叉树:
Map的实现基于大小平衡的二叉树(或有界平衡树),如下所述:
- Stephen Adams,“高效集:平衡行为”,功能规划期刊3(4):553 - 562,1993年10月,http://www.swiss.ai.mit.edu/~adams/BB/。
- 学家Nievergelt和E.M. Reingold,“有限平衡的二元搜索树”,SIAM计算杂志2(1),1973年3月。
Ocaml在hashtables和binary trees上都有映射类型。
答案 3 :(得分:1)
C# SortedDictionary实现为红黑树,而Dictionary使用哈希表,而SortedList基本上是二进制搜索列表,用于键查找。< / p>
答案 4 :(得分:1)
Scala的scala.collection.immutable.TreeMap
是用红黑树实现的。