像std :: set这样的C#结构支持lower_bound

时间:2013-03-30 13:14:31

标签: c# c++ map lower-bound

我需要C#中的内置数据结构,其功能类似于c ++中的std::set(或std::map)。对我来说重要的是结构应该排序(因此Dictionary不会在这里做)并且有一个类似于lower_bound的方法(即返回值至少为v的第一个元素) 。我还需要插入和删除结构中的元素。如果可能,我需要这些操作具有复杂性O(log(n))。能否请您指出C#中的相应数据结构?

1 个答案:

答案 0 :(得分:2)

我怀疑你正在寻找与{std :: set类似的数据结构的SortedSet

This article涉及其性能特征。

使用SortedSet.GetViewBetween似乎可以实现lower_bound功能,但根据this discussion,其复杂程度低于所需的O(log(n))。