在插入项目或将它们添加到已排序列表之后对列表进行排序是否更快?

在插入项目或将它们添加到已排序列表之后对列表进行排序是否更快?,第1张

在插入项目或将它们添加到已排序列表之后对列表进行排序是否更快?

如果添加了足够多的项以有效地从头开始构建列表,则应该可以通过对列表进行排序来获得更好的性能。

如果项目大部分是按顺序排列的,则可以调整增量新和常规排序以利用这一点,但是坦率地说,通常不值得这样做。(您还需要小心一些事情,例如确保某些意外排序不会使您的算法花费
更长的时间 ,qv天真的quicksort)

增量更新和常规列表排序都为O(N log
N),但是之后可以得到更好的常量因子对所有内容进行排序(我在这里假设您拥有一些辅助数据结构,因此您的增量更新可以比O更快地访问列表项(N)…)。一般而言,一次进行全部排序比增量维护顺序具有更多的设计自由度,因为增量更新必须始终保持完整的顺序,而一次全部批量排序则不需要。

如果没有别的,请记住,有很多高度优化的批量排序可用。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存