选择排序(升序排列)

选择排序是一种简单直观的排序算法,通过不断寻找未排序部分的最小元素并与其前一个位置交换来实现排序。其时间复杂度为O(N²),特点包括运行时间与输入无关且数据移动次数较少。
摘要由CSDN通过智能技术生成
描述:

    从数组中寻找到最小的元素,将其与数组第一个元素交换;再在剩下的元素中找到最小的元素,与数组第二个元素交换......直至整个数组排序完成。因是不断的在未排序元素中寻找最小的元素,故称为选择排序。

时间复杂度:

    对于长度为N的数组来说,交换的总次数为N,而比较的总次数为[N*(N-1)]/2 ~ N²。

    故此时间复杂度为:

    特点:①运行时间与输入无关,即有序长度为N的数组与无序长度为N的数组所用时间一样长。

              ②数据移动次数最少,N次交换。与数组长度为线性关系。


动图描述:
    黄色代表已排序列,红色代表未排序列中最小值,蓝色代表当前位置

(图片来自维基百科)
Section类代码实现:
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值