【排序算法】:选择排序
来源:互联网 发布:淘宝开店案例 编辑:程序博客网 时间:2024/05/22 00:55
介绍
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
平均时间复杂度:O(n2)
空间复杂度:O(1) (用于交换和记录索引)
稳定性:不稳定
排序实例:
初始关键字 [49 38 65 97 76 13 27 49]
第一趟排序后 13 [38 65 97 76 49 27 49]
第二趟排序后 13 27 [65 97 76 49 38 49]
第三趟排序后 13 27 38 [97 76 49 65 49]
第四趟排序后 13 27 38 49 [76 97 65 49 ]
第五趟排序后 13 27 38 49 49 [97 65 76]
第六趟排序后 13 27 38 49 49 65 [97 76]
第七趟排序后 13 27 38 49 49 65 76 [97]
最后排序结果 13 27 38 49 49 65 76 97
代码实现
//选择排序void SelectSort(int* arr, int len){ assert(arr > 0); assert(len > 0); for (int i = 0; i < len - 1; i++) { for (int j = i + 1; j < len; j++) { if (arr[j] < arr[i]) swap(arr[i], arr[j]); } }}
阅读全文
0 0
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法--选择排序
- 排序算法---选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法-选择排序
- 排序算法---选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 排序算法--选择排序
- 算法-排序-选择排序
- 排序算法:选择排序
- 排序算法---选择排序
- 排序算法:选择排序
- 排序算法--选择排序
- 算法排序 -- 选择排序
- android 常用 开源控件
- 深度神经网络及TensorFlow实现1-激活函数(Activation Function)
- Java单元测试(Junit+Mock+代码覆盖率)
- sql嵌套查询时避免报错的方式
- python编写一个函数,输入n为偶数时,调用函数求1 / 2 + 1 / 4 + ... + 1 / n, 当输入n为奇数时,调用函数1 / 1 + 1 / 3 + ... + 1 / n(指针函数
- 【排序算法】:选择排序
- “区块链”究竟是什么鬼
- Leetcode-Remove element-Python
- python入门(九):集合及其运算
- Python基础(三)
- Sublime Text的配置
- WP Super Cache 安装与设置详解
- 常见排序算法及其C语言实现(二)
- RecyclerView 之通用适配