美文网首页
排序2-选择排序

排序2-选择排序

作者: 大胡子商人 | 来源:发表于2018-01-04 13:25 被阅读8次

1、基本思想
顾名思义,选择排序就是每次选一个数据放到其应该出现的位置,以升序(降序)为例,首先选最小(最大)的数据放到正确位置,接着再选次小(次大)的数据放到合适的位置,以此类推,直到最大(最小)的数据被放入最后一个位置,排序就算完成。

总体算法分三步完成:选数据--->将所选数据放入合适位置--->缩小需要排序的范围

图解(以升序为例):

image

2、排序效果图:

image

3、时间复杂度&&空间复杂度

选择排序的比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数:

N=(n-1)+(n-2)+...+1=n*(n-1)/2。

交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。

故此,选择排序的时间复杂度为O(N^2)。

选择排序的空间复杂度为O(1)。

http://blog.csdn.net/snow_5288/article/details/59109966

相关文章

  • 排序-2-选择排序

    前言 旨在 在对dx和dy这类无穷小量的研究中,《微积分的历程》中指出 牛顿是这种动态方法的倡导者。 诚然,学习微...

  • 排序2-选择排序

    1、基本思想顾名思义,选择排序就是每次选一个数据放到其应该出现的位置,以升序(降序)为例,首先选最小(最大)的数据...

  • 排序算法2-选择排序

    选择排序 平均时间复杂度:O(n^2) 最好情况:O(n^2) 最坏情况:O(n^2) 空间复杂度:O(1) 排序...

  • 常见排序算法

    这里介绍四种排序算法,选择排序、快速排序、归并排序、计数排序 选择排序(使用递归) 选择排序(使用循环) 快速排序...

  • 记录几个常见的排序算法

    常见的排序有:快速排序、冒泡排序、希尔排序、选择排序、插入排序、归并排序 冒泡排序: 插入排序: 选择排序: 希尔...

  • 排序 -- 选择/插入

    聊聊排序吧 冒泡排序 选择排序 插入排序 快速排序 归并排序 计数排序 桶排序 堆排序 本篇 选择排序与插入排序 ...

  • Java 常见的 8 种排序算法(内排序)

    排序分类 内部排序 插入排序:直接插入排序、希尔排序 交换排序:冒泡排序、快速排序 选择排序:直接选择排序、堆排序...

  • 排序法

    排序分 内部排序和外部排序 内部排序: 插入排序:{直接插入排序,希尔排序} 选择排序:{简单选择排序,堆排序} ...

  • 给自己备份的排序代码

    交换排序 冒泡排序 快速排序 插入排序 直接插入排序 希尔排序 选择排序 简单选择排序 堆排序

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

网友评论

      本文标题:排序2-选择排序

      本文链接:https://www.haomeiwen.com/subject/harrnxtx.html