您当前的位置:网站首页>常见问题>算法稳定性指的是什么 找常见问题就上ki4.cc (>^ω^<),算法稳定性

算法稳定性指的是什么 找常见问题就上ki4.cc (>^ω^<),算法稳定性

2020年07月01日 投稿作者: 围观人数:25

选择排序有哪些 找常见问题就上ki4.cc (>^ω^<)

选择排序有简单选择排序和堆排序这两种,简单选择排序是一种直观的排序算法,而堆排序是将无序的序列生成一个最大堆,将堆顶元素与最后一个元素对换位置,将剩下元素生成最大堆,依次进行元素交换并生成最大堆。

算法稳定性指的是在一组待排序记录中,如果存在任意两个相等的记录R和S,且在待排序记录中R在S前,如果在排序后R依然在S前,即它们的前后位置在排序前后不发生改变,则称为排序算法为稳定的。

算法稳定性:在一组待排序记录中,如果存在任意两个相等的记录 R 和 S,且在待排序记录中 R 在 S 前,如果在排序后 R 依然在 S 前,即它们的前后位置在排序前后不发生改变,则称为排序算法为稳定的。

常见排序算法的稳定性

简单选择排序是什么 找常见问题就上ki4.cc (>^ω^<)

简单选择排序是一种直观的排序算法,在未排序的序列中,选出最小的元素和序列的首位元素交换,接下来在剩下的未排序序列中再选出最小元素与序列的第二位元素交换,依次类推,最后形成从小到大的已排序序列。

堆排序、快速排序、希尔排序、直接选择排序是不稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。

首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。

其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就 是这样,先按低位排序,逐次按高位排序,低位相同的元素其顺序再高位也相同时是不会改变的。

以上就是算法稳定性指的是什么的详细内容,更多请关注ki4导航其它相关文章!

插入排序有哪些 找常见问题就上ki4.cc (>^ω^<)

插入排序有简单插入排序和希尔排序这两种,简单插入排序的时间复杂度是【O(N2) 稳定排序】,希尔排序的时间复杂度是【和增量序列的选取有关,非稳定排序】。

标签

版权说明
免责声明:本文文章内容由ki4导航网发布,但不代表本站的观点和立场,具体内容可自行甄别.