gpt4 book ai didi

algorithm - 最好的排序方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:09 26 4
gpt4 key购买 nike

问题;

You have to sort an array of bank transactions by date. Most of them are in order (by date), only a few are out of order.

Which sorting algorithm will you use between insertion sort, selection sort and merge sort in order to take advantage of the fact that the array is almost sorted?

我的回答(不确定是否正确)

假设 N >= 5,我会选择合并排序,因为它的平均值。时间复杂度为 O(n * log n),这比插入排序 O(n^2) 更有效。然而,由于多个交易将在同一日期发生,插入排序将是一种很好的稳定排序方法。

在这种情况下,哪个更好?合并排序还是插入排序?我的方向正确吗?

最佳答案

您应该选择插入排序,不是因为稳定性,而是因为它具有自适应性(请参阅 here )并且由于输入几乎是从一开始就排序的事实而表现出色。

这个“自适应”特性的意思是,已经到位的元素在O(1)时间被处理,非常接近它们排序位置的元素也可以被认为是O(1)(最多一些k距离).

关于algorithm - 最好的排序方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39948126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com