选择排序算法

本文介绍了选择排序算法的基本思想和实现过程。首先,选择排序从序列中每次选取最小值与当前位置交换,直到序列有序。然后,针对已排序序列的情况,提出改良后的代码,减少不必要的趟数。最后,强调了选择排序在Java面试中的重要性及其时间复杂度为O(n^2)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择排序算法

基本介绍

选择排序属于内部排序,是从要排序的序列中,按照指定的规则选出一个元素,再依照规定交换位置后达到排序的目的;


基本思想

1>.选择排序也是一种简单的排序方法.它的基本思想是:

第一次从arr[1]~arr[n-1]序列中选取最小值与arr[0]交换,
第二次从arr[2]~arr[n-1]中选取最小值,与arr[1]交换,
第三次从 arr[3]~arr[n-1]中选取最小值,与 arr[2]交换,…

第n-1 次从 arr[n-1]~arr[n-1]中选取最小值,与arr[n-2]交换,
总共通过 n-1 次,得到一个按排序码从小到大排列的有序序列;


每一趟获取值最小的元素的思路:
  1. 将每一趟的起始元素(假设起始元素是最小的)与本趟的其他元素进行比较,如果后面的其他元素值有比这个起始元素值还小的,那么后面的那个元素就是最小的,然后从刚刚找到的这个(值最小)元素开始,继续和后面剩余的元素进行比较...最终得到本趟排序中值最小的一个元素,将他和本趟排序的起始元素交换位置,那么下一趟排序这个(值最小)的元素就不参加了
  2. 第一趟从第一个元素开始遍历得到一个最小的值,往第一个位置放;
  3. 第二趟从第二元素开始遍历得到一
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值