我已经阅读了大量关于为特定实现选择正确集合的文章,并且我知道最终它将归结为对真实数据进行基准测试,但是当我忙于这样做时:
c# 中的哪些排序集合允许修改包含的项目?我似乎找不到任何东西?
这是因为修改可能会被实现为删除然后重新插入,从而使显式的“修改”功能毫无意义?
我需要一个集合(自定义或标准库),并对其执行以下操作。
- 插入 - 经常
- 删除 - 经常
- 修改 - 经常
- 选择前 X 个元素 - 每次发生上述任何情况时,以及更多同时发生。
目前我正在使用 SortedSet,因为它提供 O(logn) 插入,但我不清楚删除性能以及如何最好地修改项目。