MSDN 声明如下SortedSet(T).Add 方法 http://msdn.microsoft.com/en-us/library/dd411709%28VS.100%29.aspx :
如果 Count 小于内部数组的容量,则此方法的操作时间复杂度为 O(1)。
有人可以解释一下“怎么会这样”吗?我的意思是,当添加新值时,我们需要找到正确的位置来添加值(将其与其他值进行比较),并且内部实现看起来像具有 O (log N) 插入复杂度的“红黑树”。
该评论根本就是错误的。是的,它是一棵红黑树,插入的时间复杂度为 O(log(n))。用 Reflector 看一下就证明了这一点,私人添加如果不存在() https://referencesource.microsoft.com/#System/compmod/system/collections/generic/sortedset.cs,357方法包含一个 while() 循环来查找插入点,使用正常的红黑节点遍历。
这个文档错误已经已提交 https://connect.microsoft.com/VisualStudio/feedback/details/533934/incorrect-complexity-specified-for-sortedset-add由你知道的人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)