是的-它们的性能特征差异很大。最好叫它们
SortedList,
SortedTree因为这更紧密地反映了实现。
看看MSDN文档为他们每个人(的
SortedList,
SortedDictionary),用于在不同的situtations不同的操作细节表现。这是一个不错的摘要(来自
SortedDictionary文档):
的
SortedDictionary<TKey, TValue>通用类是O(log
n)的检索,其中n是字典中的元件的数目的二进制搜索树。在这方面,它类似于SortedList<TKey,TValue>泛型类。这两个类具有相似的对象模型,并且都具有O(log n)检索。这两类的区别在于内存使用以及插入和移除的速度:
SortedList<TKey, TValue>使用的内存少于SortedDictionary<TKey, TValue>。 SortedDictionary<TKey, TValue>对未排序的数据O(log
n)具有更快的插入和删除操作,而对O的O(n)具有更快的插入和删除操作SortedList<TKey, TValue>。如果从排序数据中一次填充列表,
SortedList<TKey, TValue>则速度比快SortedDictionary<TKey,TValue>。
(
SortedList实际上是维护排序后的数组,而不是使用树。它仍然使用二进制搜索来查找元素。)



