排序算法稳定或不稳定的原因是什么?

时间:2013-11-22 17:15:48

标签: algorithm sorting

我想了解排序算法变得稳定或不稳定的主要原因。据我所知,如果我们向元素添加一个位置键,每个不稳定的算法都会变得稳定。 (但它会对速度和内存使用产生影响)。我也明白,在不稳定的排序过程中,元素总会在那里发生变化。

但它的主要原因是什么?是因为在某些情况下我们使用分而治之的策略吗?

2 个答案:

答案 0 :(得分:3)

这取决于算法使用的比较和交换。通常,如果在数组中的远程对象之间进行比较和交换,而不先查看其间的元素,则排序将不稳定。

答案 1 :(得分:1)

没有理由。稳定只是一种财产,只是存在。有时算法通过纯粹的机会是稳定的(创造者没有考虑到稳定性)。大多数时候算法都是稳定的,因为创建者想要它。