1 选择排序法的定义
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。(来自百度百科)
2 选择排序法详细过程解析
假定有这样一个数组
int[] nums = new int[]{6, 4, 5, 1, 3, 2};
现在需要将他从大到小排列。
选择排序法代码如下:

排序详细过程:
[6, 4, 5, 1, 3, 2] 第一次遍历6和2交换位置
[6, 5, 4, 1, 3, 2] 第二次遍历5和4交换位置
[6, 5, 4, 1, 3, 2] 第三次遍历4位置不变
[6, 5, 4, 3, 1, 2] 第四次遍历3和1交换位置
[6, 5, 4, 3, 2, 1] 第五次遍历2和1交换位置
3 选择排序法时间复杂度
数据比较次数:
C = (N-1)+(N-2)+……+2+1=(((N-1)+1)*(N-1)) / 2=(N^2)/2-N/2
数据交换次数:
M = N-1
时间复杂度:
C+M=(N^2)/2-N/2+ N-1=O(N^2)
因此,选择排序的时间复杂度为O(N^2)
4 结语
感谢各位的阅读,如有问题,欢迎大家留言反馈,我会在第一时间修正。
-
算法
+关注
关注
23文章
4760浏览量
97124 -
C语言
+关注
关注
183文章
7642浏览量
144558 -
排序算法
+关注
关注
0文章
53浏览量
10367
发布评论请先 登录
用于单片机几种C语言算法
如何选择适合的抗干扰算法来优化电能质量在线监测装置的测量精度?
Camellia算法的实现(基于开源蜂鸟E203协处理器)
国密系列算法简介及SM4算法原理介绍
低成本电源排序器解决方案

详谈选择排序算法的定义和过程
评论