我需要C#
中的内置数据结构,其功能类似于c ++中的std::set
(或std::map
)。对我来说重要的是结构应该排序(因此Dictionary
不会在这里做)并且有一个类似于lower_bound
的方法(即返回值至少为v
的第一个元素) 。我还需要插入和删除结构中的元素。如果可能,我需要这些操作具有复杂性O(log(n))
。能否请您指出C#
中的相应数据结构?
答案 0 :(得分:2)
我怀疑你正在寻找与{std :: set类似的数据结构的SortedSet。
This article涉及其性能特征。
使用SortedSet.GetViewBetween似乎可以实现lower_bound
功能,但根据this discussion,其复杂程度低于所需的O(log(n))。