zoukankan      html  css  js  c++  java
  • 选择排序(数组、链表)

    直接选择排序:直接选择排序的作法是:第一趟扫描所有数据,选择其中最小的一个与第一个数据互换;第二趟从第二个数据开始向后扫描,选择最小的与第二个数据互换;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程。

    那 是不是稳定的呢,我们可以观察一次扫描中,要交换最小的一个与第一个数据,最小的这个我们可以保证它依然稳定,但我们能否保证第一个数据依然不破坏稳定 呢?答案是不可以,比如 2 3 2" 1,2与1交换后1 3 2" 2,这样的确就不是稳定的了。根据我们上面的分析,我们把1 3 2" 2作为一个新的序列我们可以发现,它应当与上面的2" 3 2 1执行到1 3 2" 2处的执行序列一样,严格说明了它肯定不稳定。因为要麽使2 3 2" 1不稳定,要麽使1 3 2" 2不稳定。

    实际上如果用链表实现一个直接选择排序,这样它只改变了最小元素的位置,并没有交换,这样可以是稳定的,但一般的直接选择排序是指上面用交换的方法。

  • 相关阅读:
    单片机编程积累算法
    关于GSM基站定位
    GSM模块fibocom G510使用记录
    指爱 打字比赛记录
    硬件和软件工程师
    GPS模块启动模式说明
    阻容降压电路分析
    饮水机电路-工作剖析
    跑步,去
    day01 IT知识架构,操作系统简介
  • 原文地址:https://www.cnblogs.com/yyxayz/p/4136815.html
Copyright © 2011-2022 走看看