【问题标题】:SortedList Performance - how does the sorted list sort itself?SortedList 性能 - 排序列表如何自行排序?
【发布时间】:2012-08-10 18:02:29
【问题描述】:

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

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

【问题讨论】:

    标签: c# sorting sortedlist


    【解决方案1】:

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

    这就是为什么它有这些characteristics

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

    【讨论】:

    猜你喜欢
    • 2018-06-09
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    相关资源
    最近更新 更多