【问题标题】:Add to SortedSet<T> and its complexity添加到 SortedSet<T> 及其复杂性
【发布时间】:2010-03-28 13:16:36
【问题描述】:

MSDN 声明如下SortedSet(T).Add Method

如果 Count 小于内部数组的容量,则此方法为 O(1) 操作。

有人能解释一下“怎么会”吗?我的意思是在添加新值时,我们需要找到一个正确的位置来添加一个值(将其与另一个值进行比较),并且内部实现看起来像一个具有 O (log N) 插入复杂度的“红黑树”。

【问题讨论】:

  • 从那以后他们改变了它

标签: c# time-complexity sortedset


【解决方案1】:

评论完全是错误的。是的,它是一棵红黑树,插入的 O(log(n))。用 Reflector 看一下就证明了这一点,私有 AddIfNotPresent() 方法包含一个 while() 循环来查找插入点,使用正常的红黑节点遍历。

这个文档错误已经been submitted by you-know-who.

【讨论】:

  • 仅供参考,链接现在坏了
  • SortedSet&lt;T&gt;(IEnumerable&lt;T&gt;) 文档证实了这一点,该文档指出其复杂性为 O(n log(n))。
猜你喜欢
  • 2011-06-05
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 2020-12-14
  • 2021-05-16
  • 2011-07-16
  • 2018-02-11
相关资源
最近更新 更多