.NET 4中是否存在二进制搜索树实现?

时间:2010-10-12 14:16:37

标签: .net data-structures .net-4.0 binary-tree

我正在寻找.NET 4中的内置二进制搜索树实现。有一个吗?

5 个答案:

答案 0 :(得分:7)

SortedDictionary<K,V>类使用树,你正在追求的是什么?

请参阅此SO answer进行讨论。

答案 1 :(得分:4)

答案 2 :(得分:2)

另一种选择是使用List并对其进行排序。然后,您可以使用BinarySearch方法查找项目。要维护排序列表,可以使用BinarySearch返回的索引来插入。如果返回的索引为负,则使用补码(〜运算符)作为插入位置,如果返回的索引为正,则可以在该位置插入(除非您希望设置类似行为,在这种情况下根本不插入)。

答案 3 :(得分:2)

C5 library

  

类TreeDictionary实现接口ISortedDictionary并表示   使用有序平衡的重写黑名单的(键,值)对或条目的字典   二叉树。条目访问,条目删除和条目插入需要时间O(logn)。   按照键顺序枚举树词典的键,值或条目,   由关键比较器确定。

答案 4 :(得分:0)

http://code.google.com/p/self-balancing-avl-tree/。具有连接和拆分操作的平衡AVL树实现以及基于AVL树的SortedDictinary和SortedMultiDictionary。