【发布时间】:2012-08-10 18:02:29
【问题描述】:
我正在尝试找出有关排序列表的更多详细信息,以便我可以分析它在几种特定情况下是否会像我需要的那样执行。
有人知道它用来对元素进行排序的具体排序算法吗?
【问题讨论】:
标签: c# sorting sortedlist
我正在尝试找出有关排序列表的更多详细信息,以便我可以分析它在几种特定情况下是否会像我需要的那样执行。
有人知道它用来对元素进行排序的具体排序算法吗?
【问题讨论】:
标签: c# sorting sortedlist
SortedList<T,U> 在内部使用一个数组作为其键,并通过以正确的顺序在Add 上插入项目来执行“排序”。当您使用新项目调用 Add 时,它会使用 Array.Insert 执行 Array.BinarySearch。
这就是为什么它有这些characteristics:
这个方法是对未排序数据的 O(n) 操作,其中 n 是 Count。如果将新元素添加到列表的末尾,则为 O(log n) 操作。如果插入导致调整大小,则操作为 O(n)。
【讨论】: