SortedList性能 - 排序列表如何排序?

时间:2012-08-10 18:02:30

标签: c# sorting sortedlist

我正在尝试找出有关排序列表的更多详细信息,以便我可以分析它是否会像我在几种特定情况下所需要的那样执行。

有没有人知道它用来对其元素进行排序的具体排序算法?

1 个答案:

答案 0 :(得分:6)

SortedList<T,U>在内部使用数组作为其键,并通过以正确的顺序插入Add上的项目来执行“排序”。当您使用新项目致电Add时,会使用Array.BinarySearch进行Array.Insert

这就是为什么它有这些characteristics

  

此方法是未排序数据的O(n)操作,其中n为Count。如果在列表末尾添加新元素,则为O(log n)操作。如果插入导致调整大小,则操作为O(n)。