选择排序和插入排序

时间:2011-11-05 22:53:48

标签: sorting

我必须回答以下问题:你能想到一个场景,其中SelectionSort比InsertionSort更好(就结果的发展而言)。

我的想法是,如果您只需要例如在一个非常大的列表中排名前10位,您可以在第10步之后结束排序。这是对这个问题的有效答案吗?你能想到其他场景吗?

2 个答案:

答案 0 :(得分:2)

在最坏的情况下,InsertionSort有Ο(n^2)次交换,但SelectionSort为Θ(n)。因此,如果写入比读取要昂贵得多,则SelectionSort更适合。

答案 1 :(得分:1)

当输入数组“接近排序”时,selecion排序比插入排序具有更好的性能。还有两件事你必须记住:选择排序只需要Θ(n)交换与Ο(n2)(在插入排序的情况下)交换;选择排序具有稳定性强的实现,插入排序没有。