相关疑难解决方法(0)

SortedList和SortedDictionary有什么区别?

a SortedList<TKey,TValue>和a 之间是否有任何实际的区别SortedDictionary<TKey,TValue>?在任何情况下你会专门使用一个而不是另一个吗?

.net c# generics sortedlist sorteddictionary

251
推荐指数
6
解决办法
9万
查看次数

.NET 中的数据结构,将项目存储为已排序、唯一且可按范围查询(并且不是 SortedSet)

该场景是事件的时间线,我希望能够查询特定日期范围内的所有项目。

我正在寻找 .NET(最高 v4.0)中的数据结构,该结构将项目存储为排序且唯一的(例如,通过使用比较器或唯一键)。它应该支持不超过对数复杂度的添加/删除,并以该复杂度执行二分搜索。

System.Collections.Generic.SortedSet看起来像我想要的,但它的GetViewBetween()方法返回一个包含项目的列表,作为 SortedSet。

我遗漏了两件事:

  1. 调用ToList()或枚举 SortedSet 的成本太高,因为列表很长。我需要方法返回 a List<T>,而不是 a SortedSet<T>
  2. 根据我的选择,使用包含/排除日期范围来调用它 - 不可能,我也需要它。

如果您知道一个包含这样的数据结构的好库,并且经过测试并且熟悉,我肯定会尝试一下。

谢谢。

.net c# sortedset data-structures

5
推荐指数
1
解决办法
1967
查看次数